使用 IBM watsonx Code Assistant 用户指南的 Red Hat Ansible Lightspeed


Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 2.x_latest

了解如何在 IBM watsonx Code Assistant 中使用 Red Hat Ansible Lightspeed。

Red Hat Customer Content Services

摘要

本指南介绍了如何在 IBM watsonx Code Assistant 中使用 Red Hat Ansible Lightspeed。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 Red Hat Ansible Lightspeed 简介

了解 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed,它的好处、关键功能、流程和数据用于培训 IBM watsonx Code Assistant 模型。

1.1. 关于 Red Hat Ansible Lightspeed

使用 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 是一个模块化的 AI 服务,可帮助自动化团队更有效地创建、采用和维护 Ansible 内容。它使用自然语言提示根据 Ansible 最佳实践为自动化任务生成代码建议。

Red Hat Ansible Lightspeed 是云服务,它允许将 AI 集成到 Ansible Automation Platform 中。本文档专门论述了将 Red Hat Ansible Lightspeed 与 IBM watsonx Code Assistant 集成。

Red Hat Ansible Lightspeed 使用 IBM watsonx Code Assistant 模型,用于 Ansible 生态系统的主题专业知识,其中包括 Galaxy、GitHub 和 Ansible 认证和验证的内容。为了便于使用,Red Hat Ansible Lightspeed 与现有的 Ansible 开发人员工作流集成。例如,您可以使用现有的 Git 软件仓库(公共和私有)来培训 IBM watsonx Code Assistant 模型。您还可以通过 Ansible VS 代码扩展访问 VS Code 中的 Lightspeed 内容建议。

  • Red Hat Ansible Lightspeed 云服务

    要使用 Red Hat Ansible Lightspeed 云服务,您必须满足以下要求 之一

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。

      注意

      Red Hat Ansible Lightspeed trial 帐户不需要 IBM watsonx Code Assistant 订阅。

  • Red Hat Ansible Lightspeed 内部部署

    要使用 Red Hat Ansible Lightspeed 的内部部署,您的机构必须具有以下订阅:

    • Red Hat Ansible Automation Platform 的试用或付费订阅
    • 为 Red Hat Ansible Lightspeed on Cloud Pak for Data 安装 IBM watsonx Code Assistant

1.1.2. 使用 Red Hat Ansible Lightspeed 的好处

使用 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 提供以下优点:

  • 减少 Ansible 开发者的加入学习期

    通过对 YAML 语法的基本了解,Ansible 开发人员可以使用英语语言的自然语言提示来描述自动化目标。Red Hat Ansible Lightspeed 提供 Ansible 代码建议,以帮助更有效地实现自动化目标。这种内容组合和最佳实践建议减少了学习曲线,并为新的 Ansible 用户提供更顺畅的加入体验。

    例如,要获得多任务代码建议,您可以输入 安装 postgresql-server 的提示,并运行 postgresql-setup 命令。Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 交互,并生成代码建议,以自动安装 PostgreSQL 服务器并设置 PostgreSQL 数据库。然后,您可以查看并接受代码建议,以便在 Ansible YAML 文件中创建任务。

  • 通过创建质量内容来提高生产力

    Red Hat Ansible Lightspeed 提供遵循 Ansible 最佳实践的自动化代码建议,IBM watsonx Code Assistant 提供了模型微调功能,以根据您的机构的现有 Ansible 内容提高推荐内容的准确性。因此,AI 生成的代码建议更准确、更可靠,并与现有的自动化开发工作流集成。

  • 使用 AI 生成的代码建议扩展信任

    AI 生成的代码建议允许您扩展信任,使用遵循接受的 Ansible 最佳实践和重要数据保护的自动化代码库。

1.2. Red Hat Ansible Lightspeed 的主要功能

Red Hat Ansible Lightspeed 提供以下关键功能:

  • Ansible 特定的 IBM watsonx Code Assistant 模型

    IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 使用特定于 Ansible 的 IBM watsonx Granite 模型,您的机构提供了、管理和维护 IBM。

  • 模型自定义

    机构管理员现在可以创建和使用根据您的机构现有 Ansible 内容培训的自定义模型。借助此功能,您可以将模型调整到组织的自动化模式,并改进代码建议体验。

    您可以为您的机构配置多个自定义模型。例如,您可以为您的企业 IT 自动化团队创建一个自定义模型,并为工程团队的基础架构创建一个不同的模式。您还可以配置自定义模型,使其可用于所有 Ansible 用户,或者在您的机构中选择 Ansible 用户。

  • Red Hat Ansible Lightspeed 云服务和内部部署

    Red Hat Ansible Lightspeed 作为云服务和内部部署提供。Red Hat Ansible Lightspeed 内部部署可让 Red Hat Ansible Automation Platform 客户更好地控制其数据,并支持遵守企业安全策略。例如,敏感行业中的具有数据隐私或 air-gapped 要求的组织可以在 Red Hat Ansible Lightspeed 和 IBM watsonx Code Assistant for Red Hat Ansible Lightspeed on Cloud Pak for Data 使用内部部署。Red Hat Ansible Automation Platform 版本 2.4 及更新的版本支持 Red Hat Ansible Lightspeed 内部部署。

  • Red Hat Ansible Lightspeed trial

    现有的 Ansible 用户现在可以启动免费的 90 天Red Hat Ansible Lightspeed 云服务试用。您可以创建单任务和多任务建议,生成 playbook,以及查看具有试用帐户的 playbook 说明。

    要启动 Red Hat Ansible Lightspeed 试用版本,您需要对 Red Hat Ansible Automation Platform 的试用或付费订阅。但是,您不需要对 IBM watsonx Code Assistant 的试用或付费订阅。如需更多信息,请参阅 开始试用 Red Hat Ansible Lightspeed

  • Playbook 和任务生成

    这包括以下功能:

    • Playbook 生成和解释

      使用 Ansible VS Code 扩展,您可以使用英语中的自然语言接口创建 Ansible playbook。Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 会读取自然语言提示,并根据您的意图生成完整的 playbook 建议。您还可以查看新或现有 playbook 的解释。playbook 解释描述了 playbook 中的 playbook 或任务的作用,并上下文对其的影响。

    • 单任务生成

      使用自然语言提示,您可以为 Ansible 任务文件和 playbook 生成单个任务或多个任务建议。要请求多任务代码建议,您可以在以 ampersand (&)符号分隔的 YAML 文件注释中输入一系列自然语言任务提示。

      目前,Red Hat Ansible Lightspeed 仅支持英语语言的用户提示。但是,有些情况下,用于培训 IBM watsonx Code Assistant 模型的培训数据包括非英语语言。在这种情况下,模型可以为同一非英语语言的提示生成代码建议,但生成的代码建议可能并不准确。

  • 内容源匹配

    对于每个生成的代码建议,Red Hat Ansible Lightspeed 会列出内容源匹配,包括潜在源、内容作者和相关许可证等详情。您可以使用这些数据深入了解用于生成代码建议的潜在培训数据源。

  • 后处理功能

    Red Hat Ansible Lightspeed 提供后处理功能,它增强了 IBM watsonx Code Assistant,并提高了代码建议的质量和准确性。

  • 内容维护和现代化

    Ansible 代码 bot 通过 Git 存储库扫描现有内容集合、角色和 playbook,并在提供最佳实践或质量改进建议时主动创建拉取请求。bot 自动向存储库提交拉取请求,这会主动向存储库所有者发送建议更改的内容。

  • Admin 仪表板上的遥测数据收集

    Red Hat Ansible Lightspeed 现在收集 Admin 仪表板遥测数据,可让您了解您的机构用户使用 Ansible Lightspeed 服务,并在 Admin 仪表板上显示指标。如果您不再想要收集和管理 Admin 仪表板遥测,可以为您的机构禁用它。

1.3.1. 先决条件

要使用 Red Hat Ansible Lightspeed 云服务,您必须满足以下要求 之一

  • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
  • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。

    注意

    Red Hat Ansible Lightspeed trial 帐户不需要 IBM watsonx Code Assistant 订阅。

要使用 Red Hat Ansible Lightspeed 的内部部署,您的机构必须具有以下订阅:

  • Red Hat Ansible Automation Platform 的试用或付费订阅
  • 为 Red Hat Ansible Lightspeed on Cloud Pak for Data 安装 IBM watsonx Code Assistant

您还必须安装以下组件:

  • VS Code 版本 1.70.1 或更高版本
  • VS Code 版本 2.8 或更高版本的 Ansible 扩展

1.3.2. 连接要求

要生成代码建议,Visual Studio (VS) Code 编辑器中的 Ansible Lightspeed 服务需要访问以下出站域:

出站连接在 TCP 协议端口 443 上加密。

1.4.1. models

IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 使用特定于 Ansible 的 IBM watsonx Granite 模型。这些模型由 IBM 提供、管理和维护。

1.4.2. 数据源

IBM watsonx Code Assistant 模型在 Ansible Galaxy、公共 Git 存储库中的数据以及 Red Hat Ansible 主题专家示例上进行培训。

如果您向 Ansible Galaxy 发布内容并希望限制用于培训模型的 Ansible Galaxy 内容,您可以选择不使用 Ansible Galaxy 数据在 Ansible Galaxy 命名空间配置中共享您的 Ansible Galaxy 数据。

1.4.3. 数据遥测

Red Hat Ansible Lightspeed 默认收集以下遥测数据:

  • 操作遥测数据
  • 管理员仪表板遥测数据
注意

Red Hat Ansible Lightspeed 内部部署中不会收集任何遥测数据。

1.4.4. Admin 仪表板的 Telemetry 数据收集通知

在您使用此红帽产品时,红帽可能会收集您所使用的软件的遥测数据。通过这些数据,红帽可以监控软件并改进红帽产品和支持,包括识别、故障排除和响应影响用户的问题。数据还可用于跟踪您的红帽订阅权利,并利用未来的红帽购买计划。它也可能允许红帽帮助您实施升级,以最大程度降低服务影响。数据可以在红帽内部共享,以改进用户体验。如果您要评估红帽软件,则数据将可以帮助红帽确定您是否需要帮助。

1.4.4.1. 红帽收集哪些信息?

软件中的工具监控各种指标,这些信息将向红帽传输。监控以下指标:

  • 操作遥测数据

    这是操作并对 Ansible Lightspeed 服务进行故障排除所需的数据。如需更多信息,请参阅企业协议。您无法禁用操作遥测数据收集。

    这包括以下数据:

    • 您登录的组织(机构 ID、帐户号)
    • 您连接的大型语言模型(或型号)
  • 管理仪表板遥测数据

    这是深入了解您的机构用户如何使用 Ansible Lightspeed 服务的数据,指标会显示在 Admin 仪表板中。

    这包括以下数据:

    • 提示和内容建议,包括接受或拒绝内容建议
    • 用户发送反馈

      如果您不再要收集和监控遥测数据,您还可以禁用 Admin 仪表板遥测。有关 Admin 仪表板遥测的更多信息,请参阅 查看和管理管理员仪表板遥测

注意

Red Hat Ansible Lightspeed 内部部署中不会收集任何遥测数据。

1.4.4.2. 个人数据

红帽不会收集个人信息。如果红帽发现个人信息被意外地收到,红帽会删除这些信息。任何遥测数据构成个人数据的程度,请参阅 红帽隐私声明 以获取有关红帽隐私实践的更多信息。

  • 保留

    只要上述目的需要或根据法律要求或允许,红帽才保留并存储遥测数据。

  • 数据安全性

    红帽采用技术和组织措施来保护遥测数据。红帽云中存储的数据受到保护,尽可能通过加密进行保护。数据也被分段,因此无法在机构间访问。

  • 数据共享

    红帽可能会以汇总的形式与业务合作伙伴共享遥测数据,该表格不能向客户更好地理解其市场及其客户使用红帽产品,或者确保成功集成这些合作伙伴支持的产品。

  • 第三方服务提供商

    红帽可能会与某些服务供应商合作,以帮助收集和存储遥测数据。

  • 用户控制/启用和禁用 Admin Dashboard 遥测集合

    您无法禁用操作遥测数据收集。操作遥测数据仅包含运行和对服务进行故障排除所需的数据。但是,您可以禁用管理仪表板遥测数据的集合。如需更多信息 ,请参阅禁用 Admin 仪表板遥测

第 2 章 开始试用 Red Hat Ansible Lightspeed

Red Hat Ansible Lightspeed 云服务为现有 Ansible 用户提供 90 天的免费试用。要开始试用,您需要对 Red Hat Ansible Automation Platform 的试用或付费订阅,但您不需要对 IBM watsonx Code Assistant 的试用或付费订阅。这意味着,在设置试用帐户时您不需要配置 API 密钥或模型 ID。使用试用帐户,您可以创建单任务和多任务建议,生成 playbook,并查看 playbook 的解释。

先决条件

流程

  1. 打开 VS Code 应用。
  2. 在 VS Code 活动栏中,单击 Ansible 图标以打开左侧面板。
  3. 确保您已将 Ansible VS Code 扩展配置为启用 Red Hat Ansible Lightspeed。有关步骤,请参阅配置 Ansible VS Code 扩展
  4. Ansible Lightspeed 视图中,单击 Connect
  5. 输入您的红帽帐户用户名和密码。
  6. 在 Ansible Lightspeed 视图中,单击 Start trialAnsible Lightspeed 门户登录页面 将打开。
  7. 在 Ansible Lightspeed 门户上,选中在继续操作前接受 IBM 术语和条件的复选框。

    您还可以选择接收有关红帽产品、服务和事件通知。如果您不再希望收到营销电子邮件,可以随时取消订阅。

  8. 单击 Start trial。您的 Red Hat Ansible Lightspeed 试用已开始。
  9. 查看试用帐户上剩余的时间:

    1. 在 VS Code 活动栏中,单击 Ansible 图标。
    2. Ansible Lightspeed 视图中,验证您是否使用试用帐户登录,并查看试用帐户的到期日期。

作为红帽客户门户网站管理员,您必须配置 Red Hat Ansible Lightspeed 以连接到您的 IBM watsonx Code Assistant 实例。本章提供有关配置 Red Hat Ansible Lightspeed 云服务和内部部署的信息。

3.1. 配置要求

3.1.1. 许可证要求

  • Red Hat Ansible Lightspeed 云服务

    要使用 Red Hat Ansible Lightspeed 云服务,您必须满足以下要求 之一

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。

      注意

      Red Hat Ansible Lightspeed trial 帐户不需要 IBM watsonx Code Assistant 订阅。

  • Red Hat Ansible Lightspeed 内部部署

    要使用 Red Hat Ansible Lightspeed 的内部部署,您的机构必须具有以下订阅:

    • Red Hat Ansible Automation Platform 的试用或付费订阅
    • 为 Red Hat Ansible Lightspeed on Cloud Pak for Data 安装 IBM watsonx Code Assistant

3.1.2. 设置要求

要为您的机构设置 Red Hat Ansible Lightspeed,您需要以下 IBM watsonx Code Assistant 信息:

  • API 密钥

    唯一的 API 密钥验证从 Red Hat Ansible Lightspeed 向 IBM watsonx Code Assistant 发出的所有请求。每个具有有效 Ansible Automation Platform 订阅的红帽机构都必须有一个配置的 API 密钥。当经过身份验证的 RH-SSO 用户在 Red Hat Ansible Lightspeed 中创建任务请求时,与用户的红帽机构关联的 API 密钥用于验证对 IBM watsonx Code Assistant 的请求。

  • 模型 ID

    唯一的模型 ID 会在 IBM Cloud 帐户中标识 IBM watsonx Code Assistant 模型。您在 Ansible Lightspeed 管理员门户中配置的模型 ID 用作默认模型,可以被您的机构中的所有 Ansible Lightspeed 用户访问。

重要

在最初配置 Red Hat Ansible Lightspeed 时,您必须配置 API 密钥和模型 ID。

3.2. 设置 Red Hat Ansible Lightspeed 云服务

作为红帽客户门户网站管理员,您必须配置 Red Hat Ansible Lightspeed 云服务,以连接到 IBM watsonx Code Assistant 实例。

3.2.1. 登录到 Ansible Lightspeed 管理员门户

使用 Ansible Lightspeed 管理员门户将 Red Hat Ansible Lightspeed 连接到 IBM watsonx Code Assistant。

先决条件

  • 您有对具有有效的 Red Hat Ansible Automation Platform 订阅的红帽客户门户网站机构的组织管理员特权。

流程

  1. 以机构 管理员身份登录到 Ansible Lightspeed 门户
  2. Log inLog in with Red Hat
  3. 输入您的红帽帐户用户名和密码。Ansible Lightspeed 服务使用 Red Hat Single Sign-On (RH-SSO)进行身份验证。

    作为身份验证过程的一部分,Ansible Lightspeed Service 会检查您的机构是否有活跃的 Ansible Automation Platform 订阅。身份验证成功后,登录屏幕将与您的用户名和您分配的用户角色一起显示。

  4. 从登录屏幕,单击 管理门户

    您可以使用 IBM watsonx Code Assistant 管理员门户重定向到 Red Hat Ansible Lightspeed,您可以将 Red Hat Ansible Lightspeed 连接到您的 IBM watsonx Code Assistant 实例。

3.2.2. 配置 Red Hat Ansible Lightspeed 云服务

使用这个流程配置 Red Hat Ansible Lightspeed 云服务。

先决条件

  • 您已从您要在 Red Hat Ansible Lightspeed 中使用的 IBM watsonx Code Assistant 中获取了 API 密钥和模型 ID。

    有关如何从 IBM watsonx Code Assistant 获取 API 密钥和模型 ID 的详情,请查看 IBM watsonx Code Assistant 文档

流程

  1. 以机构 管理员身份登录到 Ansible Lightspeed 门户
  2. 从登录屏幕,单击 管理门户
  3. 指定 IBM watsonx Code Assistant 实例的 API 密钥:

    1. IBM Cloud API Key 下,单击 Add API key。此时会显示输入 API 密钥的 屏幕。
    2. 输入 API Key。
    3. 可选:点 Test 来验证 API 密钥。
    4. Save
  4. 指定您要使用的模型的型号 ID:

    1. Model Settings
    2. Model ID 下,点 Add Model ID。此时会显示输入 Model Id 的屏幕。
    3. 输入您在上一步中获取的 Model ID 作为您的机构的默认模型。
    4. 可选:点 Test model ID 来验证模型 ID。
    5. Save

      当成功验证 API 密钥和模型 ID 时,Red Hat Ansible Lightspeed 会连接到 IBM watsonx Code Assistant 实例。

3.3. 设置 Red Hat Ansible Lightspeed 内部部署

作为 Red Hat Ansible Automation Platform 管理员,您可以设置 Red Hat Ansible Lightspeed 内部部署,并将其连接到 IBM watsonx Code Assistant 实例。在内部部署成功后,您可以使用 Ansible Visual Studio (VS) Code 扩展开始使用 Ansible Lightspeed 服务。

注意

Red Hat Ansible Automation Platform 版本 2.4 及更新的版本支持 Red Hat Ansible Lightspeed 内部部署。

3.3.1. 概述

本节提供有关系统要求、先决条件以及设置 Red Hat Ansible Lightspeed 内部部署的过程的信息。

3.3.1.1. 部署模型

您可以使用以下部署模式之一:

  • 内部部署

    Red Hat Ansible Lightspeed 和 IBM watsonx Code Assistant 模型(IBM Cloud Pak for Data)都是内部部署。对于部署的内部模式,不会收集 Telemetry 数据。

  • 混合部署

    Red Hat Ansible Lightspeed 是一个内部部署,而 IBM watsonx Code Assistant 模型是云部署。对于混合部署,收集遥测数据,可以从 Admin 仪表板访问。

    混合部署模型具有以下优点:

    • 允许您设置 Red Hat Ansible Lightspeed 的内部部署,并可以选择使用位于内部环境或云环境的 IBM watsonx Code Assistant 模型。
    • 提供自由和灵活性,以选择最适合您组织需求的环境。
    • 启用机构使用 Ansible Automation Platform 进行用户身份验证,而不是登录到红帽云。
    • 启用机构在首选区域中部署 Ansible Automation Platform。
3.3.1.2. 系统要求

您的系统必须满足以下最低系统要求,才能安装和运行 Red Hat Ansible Lightspeed 内部部署。

Expand
要求最低要求

RAM

5 GB

CPU

1

本地磁盘

40 GB

要查看 Red Hat Ansible Automation Platform 系统要求的其余部分,请参阅 规划安装 的系统要求部分。https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/planning_your_installation/platform-system-requirements

注意

您还必须在 Cloud Pak for Data 上为 Red Hat Ansible Lightspeed 安装了 IBM watsonx Code Assistant。安装包括了一个基本模型,可用于设置 Red Hat Ansible Lightspeed 内部部署。有关安装信息,请参阅 Red Hat Ansible Lightspeed on Cloud Pak 中的 watsonx Code Assistant

3.3.1.3. 先决条件
  • 您已在 Red Hat OpenShift Container Platform 环境中安装了 Red Hat Ansible Automation Platform。
  • 具有 Red Hat Ansible Automation Platform 的管理员特权。
  • 您已在 Cloud Pak for Data 上为 Red Hat Ansible Lightspeed 安装了 IBM watsonx Code Assistant。
  • 您的系统满足设置 Red Hat Ansible Lightspeed 内部部署的最低系统要求。
  • 您已从 IBM watsonx Code Assistant 获得了 API 密钥和模型 ID。

    有关从 IBM watsonx Code Assistant 获取 API 密钥和模型 ID 的详情,请查看 IBM watsonx Code Assistant 文档。有关在 Cloud Pak 上为 Red Hat Ansible Lightspeed 安装 IBM watsonx Code Assistant 的详情,请参考 Red Hat Ansible Lightspeed on Cloud Pak 中的 Data 文档

  • 您已为 Red Hat Ansible Automation Platform 配置现有的外部 PostgreSQL 数据库,或者在配置 Red Hat Ansible Lightspeed 内部部署时为您创建数据库。

执行以下任务以安装和配置 Red Hat Ansible Lightspeed 内部部署:

3.3.2. 安装 Red Hat Ansible Automation Platform Operator

使用这个流程在 Red Hat OpenShift Container Platform 上安装 Ansible Automation Platform Operator。

先决条件

  • 已安装并配置了自动化控制器。

流程

  1. 以管理员身份登录 Red Hat OpenShift Container Platform。
  2. 创建命名空间:

    1. 进入 管理命名空间
    2. Create Namespace
    3. 为命名空间输入一个唯一名称。
    4. Create
  3. 安装 Operator:

    1. 进入 OperatorsOperatorHub
    2. 选择您要安装 Red Hat Ansible Automation Platform Operator 的命名空间。
    3. 搜索 Ansible Automation Platform operator。
    4. 在搜索结果中,选择 Ansible Automation Platform (由红帽提供)。
    5. 选择一个 更新频道。您可以选择 stable-2.xstable-2.x-cluster-scoped 作为频道。
    6. 如果您选择了 "stable-2.x" 作为更新频道,请选择目标命名空间。
    7. 选择 Install。安装 Operator 需要几分钟时间。
  4. View Operator 查看新安装的 Red Hat Ansible Automation Platform Operator 的详情。

3.3.3. 创建 OAuth 应用程序

使用这个流程为您的 Red Hat Ansible Lightspeed 内部部署创建 OAuth 应用程序。

先决条件

  • 您有一个可运行的 Ansible 自动化控制器实例。

流程

  1. 以管理员身份登录自动化控制器。
  2. 管理 下,单击 ApplicationsAdd
  3. 输入以下信息:

    1. Name :指定应用程序的唯一名称。
    2. Organization: 选择一个首选的机构。
    3. 授权授权类型 :选择 授权代码
    4. 重定向 URI :立即输入临时 URL,例如 https://temp/

      确切的 Red Hat Ansible Lightspeed 应用程序 URL 在内部部署完成后生成。部署完成后,您必须将 Redirect URI 更改为指向生成的 Red Hat Ansible Lightspeed 应用 URL。如需更多信息 ,请参阅更新 Redirect URI

    5. Client type 列表中,选择 机密
  4. Save

    此时会显示弹出窗口以及生成的应用程序客户端 ID 和客户端 secret。

  5. 复制并保存生成的客户端 ID 和客户端 secret,以备将来使用。

    重要

    这是仅显示弹出窗口的唯一时间。因此,请确保复制客户端 ID 和客户端 secret,因为您需要这些令牌为 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 创建连接 secret。

    下图是生成的客户端 ID 和客户端 secret 的示例:

3.3.4. 创建连接 secret

您必须创建一个授权 secret 来连接到 Red Hat Ansible Automation Platform,以及一个连接到 IBM watsonx Code Assistant 的模型 secret。如果需要信任自定义证书颁发机构,您必须创建一个捆绑包 secret。

先决条件

流程

  1. 进入 Red Hat OpenShift Container Platform。
  2. 选择 WorkloadsSecrets
  3. 单击 CreateKey/value secret
  4. Projects 列表中,选择安装 Red Hat Ansible Automation Platform Operator 时创建的命名空间。
  5. 创建 授权 secret 以连接到 Red Hat Ansible Automation Platform:

    1. 单击 CreateKey/value secret
    2. Secret name 中,为 secret 输入唯一名称。例如: auth-aiconnect
    3. 单独添加以下键及其关联的值:

      Expand
      value

      auth_api_url

      根据您使用的 Ansible Automation Platform 版本,以以下格式输入自动化控制器的 API URL:

      • 对于 Ansible Automation Platform 2.4: https://<CONTROLLER_SERVER_NAME>/api
      • 对于 Ansible Automation Platform 2.5: https://<GATEWAY_SERVER_NAME>

      auth_api_key

      输入您之前记录的 OAuth 应用程序的客户端 ID。

      auth_api_secret

      输入您之前记录的 OAuth 应用程序的客户端 secret。

      auth_allowed_hosts

      输入代表底层 Django 框架使用的主机/域名的字符串列表,以限制哪些主机可以访问该服务。这是一种安全措施,用于防止 HTTP 主机标头攻击。如需更多信息,请参阅 Django 文档中的允许主机

      auth_verify_ssl

      输入值为 true

      重要

      确保您不会意外在值字段中添加任何空格字符(额外行、空格等)。如果 secret 中有任何额外的或错误字符,与 Red Hat Ansible Automation Platform 的连接会失败。

    4. Create

      下图是授权 secret 的示例:

  6. 同样,创建一个 模型 secret 来连接到 IBM watsonx Code Assistant 模型:

    1. 单击 CreateKey/value secret
    2. Secret name 中,为 secret 输入唯一名称。例如,model-aiconnect
    3. 单独添加以下键及其关联的值:

      Expand
      value

      username

      输入您用来连接到 IBM watsonx Code Assistant 模型的用户名。

      model_type

      根据 IBM watsonx Code Assistant 模型输入以下值之一:

      • 对于 IBM watsonx Code Assistant 模型的内部部署(IBM Cloud Pak for Data): wca-onprem
      • 对于 IBM watsonx Code Assistant 模型的云部署: wca

      model_url

      输入 IBM watsonx Code Assistant 模型的 URL。

      model_api_key

      输入在模型安装过程中生成的 IBM watsonx Code Assistant 模型的 API 密钥。

      model_id

      输入 IBM watsonx Code Assistant 模型的 ID。

      model_verify_ssl

      可选,只在 Red Hat Ansible Automation Platform 2.5 中支持。

      这个键控制是否验证 IBM watsonx Code Assistant 模型的 SSL 证书。

      默认为 true

      重要

      确保您不会意外在值字段中添加任何空格字符(额外行、空格等)。如果 secret 中有任何额外的或错误字符,与 IBM watsonx Code Assistant 的连接会失败。

    4. Create

创建授权和模型 secret 后,您必须在 创建和部署 Red Hat Ansible Lightspeed 实例时 选择 secret。

如果您遇到需要信任自定义证书颁发机构的情况,您可以为 Red Hat Ansible Lightspeed 实例自定义几个变量。信任自定义证书颁发机构可让 Red Hat Ansible Lightspeed 实例访问配置了本地发布的 SSL 证书的网络服务,例如通过 HTTPS 从内部 Git 服务器克隆项目。

如果您在同步项目时遇到以下错误,这表示您需要自定义变量。

fatal: unable to access 'https://private.repo./mine/ansible-rulebook.git': SSL certificate problem: unable to get local issuer certificate
Copy to Clipboard Toggle word wrap

流程

使用以下方法之一通过 CLI 创建自定义捆绑包 secret:

  • 使用证书颁发机构 secret

    使用以下命令创建 bundle_cacert_secret

    # kubectl create secret generic <resourcename>-custom-certs \
        --from-file=bundle-ca.crt=<PATH/TO/YOUR/CA/PEM/FILE> 
    1
    Copy to Clipboard Toggle word wrap

    其中:

    <1>:自签名证书的路径。修改文件路径以指向您自签名证书的存储位置。Red Hat Ansible Lightspeed 实例在指定的 bundle_cacert_secret secret 中查找 data 字段 bundle-ca.crt

    以下是捆绑包 CA 证书的示例:

    spec:
      ...
      bundle_cacert_secret: <resourcename>-custom-certs
    Copy to Clipboard Toggle word wrap
  • 使用 kustomization.yaml 配置文件

    使用以下命令:

    secretGenerator:
      - name: <resourcename>-custom-certs
        files:
          - bundle-ca.crt=<path+filename>
        options:
          disableNameSuffixHash: true
    Copy to Clipboard Toggle word wrap

创建捆绑包 secret 后,您必须在 创建和部署 Red Hat Ansible Lightspeed 实例时 选择 secret。

3.3.5. 创建并部署 Red Hat Ansible Lightspeed 实例

使用这个流程创建 Red Hat Ansible Lightspeed 实例并将其部署到您的命名空间中。

先决条件

  • 您已为 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 创建了连接 secret。

流程

  1. 进入 Red Hat OpenShift Container Platform。
  2. 选择 OperatorsInstalled Operators
  3. Projects 列表中,选择要安装 Red Hat Ansible Lightspeed 实例的命名空间,以及创建连接 secret 的位置。
  4. 找到并选择您之前安装的 Ansible Automation Platform (由 Red Hat 提供) Operator。
  5. 选择 All instancesCreate new
  6. Create new 列表中,选择 Ansible Lightspeed 模态。
  7. 确保您已选择了 Form view 作为配置模式。
  8. 提供以下信息:

    1. 名称 :输入 Red Hat Ansible Lightspeed 实例的唯一名称。
    2. 找到身份验证信息的 secret :选择您创建的身份验证 secret 以连接到 Red Hat Ansible Automation Platform。
    3. 找到模型配置的 secret :选择您创建的模型 secret 以连接到 IBM watsonx Code Assistant。
  9. 可选:如果您创建了捆绑包 secret 以信任自定义证书颁发机构,请从 AdvancedBundle CA Certificate Secret 列表中选择 bundle_cacert_secret
  10. Create

    Red Hat Ansible Lightspeed 实例需要几分钟时间才能部署到您的命名空间中。安装状态显示为 Successful 后,Red Hat OpenShift Container Platform 的 NetworkingRoutes 下提供了 Ansible Lightspeed 门户 URL。

3.3.6. 更新 Redirect URI

当 Ansible 用户登录或注销 Ansible Lightspeed 服务时,Red Hat Ansible Automation Platform 会将用户的浏览器重定向到指定的 URL。您必须配置重定向 URL,以便用户可以成功登录并注销应用程序。

先决条件

  • 您已创建了 Red Hat Ansible Lightspeed 实例,并将其部署到您的命名空间中。

流程

  1. 在 Red Hat OpenShift Container Platform 中,选择 NetworkingRoutes 并找到您创建的 Red Hat Ansible Lightspeed 实例。这是 Ansible Lightspeed 实例的 URL。
  2. 更新 登录重定向 URI:

    1. 在自动化控制器中,前往 AdministrationApplications
    2. 选择您创建的 Lightspeed Oauth 应用程序。
    3. 在 Oauth 应用的 Redirect URIs 字段中,以以下格式输入 URL:

      https://<lightspeed_route>/complete/aap/

      URL 示例为 https://lightspeed-on-prem-web-service.com/complete/aap/

      重要

      Redirect URL 必须包括以下信息:

      • https://前缀
      • & lt;lightspeed_route > URL,这是您之前复制的 Red Hat Ansible Lightspeed 实例的 URL
      • 结尾包含反斜杠符号(/)的后缀 /complete/aap/
    4. Save
  3. 根据您的设置更新 logout 重定向 URI:

    • 当使用 Ansible Automation Platform operator 安装 Red Hat Ansible Lightspeed 实例和自动化控制器时的流程

      1. 登录到运行 Ansible Automation Platform 实例的集群。
      2. 识别 AutomationController 自定义资源。
      3. 选择 [YAML view]
      4. 在 YAML 文件中添加以下条目:

        ```yaml
          spec:
          ...
          extra_settings:
            - setting: LOGOUT_ALLOWED_HOSTS
              value: "'<lightspeed_route-HostName>'"
          ```
        Copy to Clipboard Toggle word wrap
        重要

        在指定 value: 参数时确保以下内容:

        • 指定没有网络协议的主机名,如 https://

          例如,正确的主机名为 my-aiconnect-instance.somewhere.com,而不是 https://my-aiconnect-instance.somewhere.com

        • 按照 codeblock 中指定的,使用单引号和双引号。

          如果将单引号更改为双引号,反之亦然,则退出时将遇到错误。

        • 使用逗号分隔来指定 Red Hat Ansible Lightspeed 部署的多个实例。

          如果您使用单个 Red Hat Ansible Automation Platform 部署运行多个 Red Hat Ansible Lightspeed 应用程序实例,请添加逗号(,),然后添加其他主机名值。例如,您可以添加多个主机名,如 "'my-lightspeed-instance1.somewhere.com','my-lightspeed-instance2.somewhere.com'"

      5. 应用修改后的 YAML。此任务会重启自动化控制器 pod。
    • 当 Ansible Automation Platform Operator 在虚拟机上运行时 的步骤:

      1. 使用 Ansible Automation Platform 控制器登录到虚拟机。
      2. /etc/tower/conf.d/custom.py 文件中,添加以下参数:
        LOGOUT_ALLOWED_HOSTS = "<lightspeed_route-HostName>"

        重要
        • 如果 /etc/tower/conf.d/custom.py 文件不存在,请创建该文件。
        • 指定没有网络协议的主机名,如 https://

          例如,正确的主机名为 my-aiconnect-instance.somewhere.com,而不是 https://my-aiconnect-instance.somewhere.com

        • 在对中使用单引号和双引号;不要使用双引号混合单引号。
      3. 执行以下命令重启自动化控制器:
        $ automation-controller-service restart
    • 当平台网关在虚拟机上运行时的步骤

      1. 使用平台网关登录虚拟机。
      2. gateway/settings.py 文件或 ansible-automation-platform/gateway/settings.py 文件中添加以下参数:
        LOGOUT_ALLOWED_HOSTS = "<lightspeed_route-HostName>"

        重要
        • 指定没有网络协议的主机名,如 https://

          例如,正确的主机名为 my-aiconnect-instance.somewhere.com,而不是 https://my-aiconnect-instance.somewhere.com

        • 根据代码块中指定的那样,使用双引号。

要访问 Red Hat Ansible Lightspeed 的内部部署,您组织中的所有 Ansible 用户都必须在其 VS Code 编辑器中安装 Ansible Visual Studio (VS) Code 扩展,并配置扩展以连接到内部部署。

先决条件

  • 已安装 VS Code 版本 1.70.1 或更高版本。

流程

  1. 打开 VS Code 应用。
  2. Activity 栏中,点 Extensions 图标。
  3. Installed Extensions 列表中,选择 Ansible
  4. Ansible 扩展页面中,点 Settings 图标( Settings icon )并选择 Extension Settings
  5. 选择 Ansible Lightspeed 设置并指定以下信息:

    • Ansible Lightspeed 字段的 URL 中,输入 Red Hat Ansible Lightspeed 内部部署的 Route URL。Ansible 用户必须具有 Ansible Automation Platform 控制器凭证。
    • 可选:如果要使用自定义模型而不是默认模型,在 Model ID Override 字段中输入自定义模型 ID。您的设置会自动保存在 VS Code 中。

      配置 Ansible VS Code 扩展以连接到 Red Hat Ansible Lightspeed 内部部署后,您必须通过 Ansible VS Code 扩展登录到 Ansible Lightspeed

      注意

      如果您的组织最近订阅了 Red Hat Ansible Automation Platform,则可能需要几小时时间 Red Hat Ansible Lightspeed 来检测新的订阅。在 VS Code 中,使用 Activity 栏中 Ansible 扩展中的 Refresh 按钮再次检查。

成功设置 Red Hat Ansible Lightspeed 内部部署后,如果您想连接到另一个 IBM watsonx Code Assistant 模型,您可以修改部署。例如,您连接到默认的 IBM watsonx Code Assistant 模型,但现在希望连接到自定义模型。要连接到另一个 IBM watsonx Code Assistant 模型,您必须创建新的连接 secret,然后更新现有 Red Hat Ansible Automation Platform operator 上的连接 secret 和参数。

先决条件

  • 您已设置了 Red Hat Ansible Lightspeed 内部部署。
  • 您已获得了您要连接的 IBM watsonx Code Assistant 模型的 API 密钥和模型 ID。
  • 您已为您要连接的 IBM watsonx Code Assistant 模型创建了新的授权和模型连接 secret。有关创建授权和模型连接 secret 的详情,请参考 创建连接 secret

流程

  1. 进入 Red Hat OpenShift Container Platform。
  2. 选择 OperatorsInstalled Operators
  3. Projects 列表中,选择安装 Red Hat Ansible Lightspeed 实例的命名空间。
  4. 找到并选择您之前安装的 Ansible Automation Platform (由 Red Hat 提供) Operator。
  5. 选择 Ansible Lightspeed 选项卡。
  6. 查找并选择您要更新的实例。
  7. 单击 ActionsEdit AnsibleLightspeed。编辑器切换到文本或 YAML 视图。
  8. 滚动文本以查找 spec: 部分。

    Setting to update the connection secrets )

  9. 查找您更改的 secret 的条目,并将其保存在新名称下。
  10. 将 secret 的名称更改为新 secret。
  11. Save

    创建新的 AnsibleLightspeed Pod。新 pod 成功运行后,旧的 AnsibleLightspeed Pod 将被终止。

3.3.9. 监控 Red Hat Ansible Lightspeed 内部部署

在 Red Hat Ansible Lightspeed 内部部署成功后,请按照以下步骤监控 API 端点 /metrics 上的指标。

流程

  1. 创建 系统审核员 用户:

    1. 在 Red Hat Ansible Automation Platform 中使用 系统审核员 角色创建用户。有关流程, 请参阅开始使用 Ansible Automation Platform 的用户 部分。
    2. 验证您可以作为新创建的系统审核员用户登录到内部部署的 Ansible Lightspeed 门户(https://<lightspeed_route>/),然后注销。
  2. 系统审核员用户创建令牌

    1. 使用以下凭证以管理员身份登录到内部部署的 Ansible Lightspeed 门户(https://<lightspeed_route>/admin):

      • Username: admin
      • 密码 :在部署 Red Hat Ansible Lightspeed 的 Red Hat OpenShift Container Platform 集群命名空间中的 <lightspeed-custom-resource-name>-admin-password 的 secret。
    2. 在 Django 管理窗口中,从 Users 区域中选择 Users。此时会显示用户列表。
    3. 验证具有 system auditor 角色的用户是否在 Users 列表中列出。
    4. 从 Django Oauth 工具包区域中,选择 Access tokenAdd
    5. 提供以下信息并点 Save

      • 用户 :使用放大镜图标搜索并选择具有 system auditor 角色的用户。
      • token :为用户指定令牌。复制此令牌供以后使用。
      • ID token :选择令牌 ID。
      • 应用为 VS Code 选择 Ansible Lightspeed
      • 过期 :选择您希望令牌过期时的日期和时间。
      • Scope :将范围指定为 读取写入

        为具有系统审核员角色的用户创建访问令牌。

    6. 从 Ansible Lightspeed 门户注销,以进行内部部署。
  3. 使用带有系统审核员角色的用户的授权令牌来监控 Red Hat Ansible Lightspeed_route>/metrics,以访问指标端点 https://<lightspeed_route>/metrics

3.3.10. 使用 Ansible Lightspeed REST API

作为平台管理员,您可以配置和使用 Ansible Lightspeed REST API 在 VS Code 之外构建自定义自动化开发和工具工作流。有关 Ansible Lightspeed REST API 的详情,请参考 Ansible AI Connect。1.0.0 (v1) 在 API 目录中。

注意

Ansible Lightspeed REST API 可用于 Ansible Automation Platform 2.5 及更新的版本。

前提条件

  • 确保您使用 Red Hat Ansible Automation Platform operator 补丁版本 2.5-20250305.9 和 Red Hat Ansible Lightspeed operator 版本 2.5.250225。

流程

  1. 选择您要授予 REST API 访问权限的平台用户。

    您可以选择现有用户,或者在 Red Hat Ansible Automation Platform 中创建平台用户。有关流程, 请参阅开始使用 Ansible Automation Platform 的用户 部分。

  2. 验证您可以登录到内部部署的 Ansible Lightspeed 门户(https://<lightspeed_route&gt;/)作为您选择的平台用户,然后注销。
  3. 为平台用户创建令牌:

    1. 使用以下凭证以管理员身份登录到内部部署的 Ansible Lightspeed 门户(https://<lightspeed_route>/admin):

      • Username: admin
      • 密码 :在部署 Red Hat Ansible Lightspeed 的 Red Hat OpenShift Container Platform 集群命名空间中的 <lightspeed-custom-resource-name>-admin-password 的 secret。
    2. 在 Django 管理窗口中,从 Users 区域中选择 Users。此时会显示用户列表。
    3. 验证平台用户是否已列在 Users 列表中。
    4. 从 Django Oauth 工具包区域中,选择 Access tokenAdd
    5. 提供以下信息并点 Save

      • 用户 :使用放大镜图标搜索并选择新创建的用户或现有用户,以获取 API 访问权限。
      • token :为用户指定令牌。复制此令牌供以后使用。
      • ID token :选择令牌 ID。
      • 应用为 VS Code 选择 Ansible Lightspeed
      • 过期 :选择您希望令牌过期时的日期和时间。
      • Scope :将范围指定为 读取写入

        为用户创建一个访问令牌。

    6. 从 Ansible Lightspeed 门户注销,以进行内部部署。
  4. 通过在授权标头中指定新创建的令牌,对 Ansible Lightspeed REST API 进行直接调用:

    curl -H "Authorization: Bearer <token>"
    https://<lightspeed_route>/api/v1/me/
    Copy to Clipboard Toggle word wrap

第 4 章 开发 Ansible 内容

作为自动化开发人员,您可以使用 Red Hat Ansible Lightspeed 来实现组织的自动化策略。Red Hat Ansible Lightspeed 可帮助您创建和使用自定义自动化内容。本章介绍了如何在 Red Hat Ansible Lightspeed 上设置为自动化开发人员的信息,并详细介绍了:

  • 以自动化开发人员形式访问 Ansible Lightspeed 门户
  • 安装和配置 VS Code
  • 创建任务建议
  • 创建 playbook 并查看 playbook 的解释
  • 提供有关 Ansible Lightspeed 服务的反馈

您可以通过 Ansible Lightspeed 门户访问 Red Hat Ansible Lightspeed。输入 Red Hat Single Sign-On (RH-SSO)帐户凭证后,您的帐户会被身份验证,并被授予访问权限。您分配的用户角色显示在 Ansible Lightspeed 门户的登录屏幕中。

Expand
表 4.1. 用户登录场景
场景结果

您是一个 RH-SSO 用户。
注意:这是以 Ansible 用户身份访问 Red Hat Ansible Lightspeed 的典型场景。

您会被路由到 Red Hat Ansible Lightspeed 付费商业产品。

您是一个 RH-SSO 用户,但您的机构管理员还没有配置 Red Hat Ansible Lightspeed 来与 IBM watsonx Code Assistant 连接。

您会被路由到 Red Hat Ansible Lightspeed 付费商业产品,其中包含您的机构管理员没有为您的机构配置模型。

流程

  1. 进入 Ansible Lightspeed 门户登录页面
  2. Log inLog in with Red Hat
  3. 输入您的红帽帐户用户名和密码。

身份验证成功后,登录屏幕将与您的用户名和您分配的用户角色一起显示。

4.1.2. 注销 Ansible Lightspeed 服务

要从 Ansible Lightspeed Service 注销,您必须注销 Ansible Lightspeed VS Code 扩展和 Ansible Lightspeed 门户。

流程

  • 注销 Ansible Lightspeed VS Code 扩展:

    • Person 图标 Person icon 。您将看到 VS Code 登录的帐户列表。
    • 选择 Ansible LightspeedSign Out
  • 从 Ansible Lightspeed 门户注销:

4.2. 安装和配置 Ansible VS Code 扩展

使用 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 与 VS Code 中的 Ansible Visual Studio (VS) Code 扩展集成。启用 Red Hat Ansible Lightspeed 功能,Ansible VS Code 扩展会自动通过自动化事件收集建议、使用遥测和 Ansible YAML 文件状态。

要访问 Red Hat Ansible Lightspeed,所有 Ansible 用户必须在其 VS Code 中安装和配置 Ansible VS Code 扩展。Ansible VS Code 扩展使用 Red Hat Ansible Lightspeed 管理员门户中配置的 Ansible 特定 IBM watsonx Granite 模型作为您机构中所有用户的默认模式。

如果您的组织管理员创建了自定义模型并已单独共享模型,您还可以使用自定义调优模型。使用 Ansible VS Code 扩展中的 model-override 设置来覆盖默认的模型,并改为使用自定义模型。使用自定义模型可让您改进代码建议体验,并将模型调整到您的机构自动化模式。例如,如果您将 Red Hat Ansible Lightspeed 用作机构管理员和用户,您可以在为机构中的所有用户使用之前测试自定义模型以选择 Ansible 用户。如需更多信息,请参阅 配置自定义模型

4.2.1. 连接要求

要生成代码建议,Visual Studio (VS) Code 编辑器中的 Ansible Lightspeed 服务需要访问以下出站域:

出站连接在 TCP 协议端口 443 上加密。

4.2.2. 安装 Ansible VS Code 扩展

先决条件

  • VS Code 版本 1.70.1 或更高版本。
注意

您还可以安装 VScode 派生版本,如 VScode Insider 或 VS Codium。

流程

  1. 打开 VS Code 应用。
  2. 在导航菜单中点 Extensions 图标。
  3. Search 字段中,输入 Ansible
  4. 选择 Ansible 以选择红帽发布的 Ansible 语言支持扩展。
  5. Install
  6. 安装完成后,验证您的 VSCode 安装:

    1. 使用 .yml.yaml 文件扩展名创建一个新的 YAML 文件。
    2. Status 工具栏中,点语言指示符并选择 Ansible 将 Ansible 语言类型与新的 YAML 文件关联。
    3. 开始编写测试 playbook。在开始创建内容时,会显示上下文辅助功能。

4.2.3. 配置 Ansible VS Code 扩展

您可以配置 Ansible VS Code 扩展来启用 Red Hat Ansible Lightspeed,并指定它的门户 URL 和 IBM watsonx Code Assistant 模型 ID。

先决条件

  • 您的机构管理员为您的机构配置了 IBM watsonx Code Assistant 模型。

流程

  1. 打开 VS Code 应用。
  2. 在 Activity 栏中,点 Extensions 图标 Extensions
  3. 在 Installed Extensions 列表中,选择 Ansible
  4. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
  5. 选择 Ansible Lightspeed 设置,并指定以下信息:

    1. 确定选择了 Enable Ansible Lightspeed with watsonx Code Assistant inline recommendations 复选框。
    2. Ansible Lightspeed 字段中,验证您有以下 URL :https://c.ai.ansible.redhat.com/。
    3. 选择 Enable Ansible Lightspeed with watsonx Code Assistant 内联建议 复选框。
  6. 可选:如果要使用自定义模型而不是默认的模型,在 Model ID Override 字段中输入自定义模型 ID。model-override 设置允许您覆盖默认模型并使用自定义模型,在机构管理员创建了自定义模型并单独共享模型 ID。

    您的设置会自动保存在 VS Code 中。

下图显示了 Ansible VS Code 扩展配置的设置:

图 4.1. 为 Ansible VS Code 扩展配置了设置

注意

如果您的组织最近订阅了 Red Hat Ansible Automation Platform,则可能需要几小时时间 Red Hat Ansible Lightspeed 来检测新的订阅。在 VS Code 中,使用 Activity 栏中 Ansible 扩展中的 Refresh 按钮再次检查。

安装和配置 VS Code 扩展后,您可以登录到 Ansible Lightspeed 服务。

Red Hat Ansible Lightspeed 提供不同的登录方法,具体取决于您使用的是云服务还是内部部署。

  • Ansible Lightspeed 内部部署

    用户使用 Red Hat Ansible Automation Platform 登录进行身份验证。

    要登录,您可以使用 Ansible Lightspeed 视图中的 Connect 按钮,或使用 Ansible Lightspeed 的 Sign in 来使用 Accounts 菜单中的 Ansible 选项。在浏览器中提示后,选择 Log in with Ansible Automation Platform,并使用自动化控制器配置的授权机制登录。

  • Ansible Lightspeed 云服务

    用户使用 Red Hat Single Sign-On (RH-SSO)进行身份验证。

    要从 VS Code 登录,您可以使用 Ansible Lightspeed 视图中的 Connect 按钮,或使用 Ansible Lightspeed 的 Sign in 来使用 Accounts 菜单中的 Ansible 选项。按照屏幕提示,使用 RH-SSO 登录并访问 Ansible Lightspeed 服务。

    注意

    如果您在 Ansible Lightspeed 未知的域中使用云环境,如内部 Red Hat OpenShift Dev Spaces,则您的帐户登录菜单提供了由红帽 使用 Ansible 的 Sign-in 选项。这个选项使用设备代码流来成功完成登录过程,并需要 Red Hat Authentication extension v0.2.0 或更高版本。如果您需要此身份验证流,但没有看到红帽的 Sign-in 来使用 Ansible 选项,请确保使用 Ansible VS Code 扩展 v24.5.2 或更高版本。

流程

  1. 打开 VS Code 应用。
  2. 使用 Ansible Lightspeed 视图中的 Connect 按钮或 Accounts 菜单登录。

    • 使用 连接按钮登录

      1. 在 VS Code 活动栏中,单击 Ansible 图标。
      2. Ansible Lightspeed 视图中,单击 Connect
      3. 按照屏幕提示登录 Ansible Lightspeed。
    • 使用 Accounts 菜单登录

      1. 在 VS Code 活动栏中,单击 Accounts 菜单。
      2. 使用 Ansible Lightspeed 登录以使用 Ansible 或与红帽签订以使用 Ansible,具体取决于您显示的登录选项。

        注意
        • 当 VS Code 扩展处于 active 状态时,会显示 sign-in 选项。在打开 Ansible 侧面板后,扩展会被激活,或者在 VS Code 编辑器中打开 Ansible 文件后激活。如果没有看到这个选项,请使用 Connect 按钮链接到 Ansible Lightspeed 服务。
        • 如果您在 Ansible Lightspeed 未知的域中使用云环境,如内部 Red Hat OpenShift Dev Spaces,则您的帐户登录菜单提供了由红帽 使用 Ansible 的 Sign-in 选项。这个选项使用设备代码流来成功完成登录过程,并需要 Red Hat Authentication extension v0.2.0 或更高版本。如果您需要此身份验证流,但没有看到红帽的 Sign-in 来使用 Ansible 选项,请确保使用 Ansible VS Code 扩展 v24.5.2 或更高版本。
      3. 按照屏幕提示登录 Ansible Lightspeed。

    身份验证成功后,登录屏幕将与您的用户名和您分配的用户角色一起显示。

4.2.5. 注销 Ansible Lightspeed 服务

要从 Ansible Lightspeed Service 注销,您必须注销 Ansible Lightspeed VS Code 扩展和 Ansible Lightspeed 门户。

流程

  • 注销 Ansible Lightspeed VS Code 扩展:

    • Person 图标 Person icon 。您将看到 VS Code 登录的帐户列表。
    • 选择 Ansible LightspeedSign Out
  • 从 Ansible Lightspeed 门户注销:

4.3. 创建任务建议

Red Hat Ansible Lightspeed 通过 Ansible VS Code 扩展集成到 Visual Studio (VS) Code 中。您可以使用 Ansible VS Code 扩展为任务意图请求代码建议。

您可以从 Ansible VS Code 扩展执行以下任务:

  • 使用自然语言提示创建单任务或多任务请求

    • 创建单个任务提示

      在 Ansible 文件中新任务行的 - name: key 中编写您的任务描述。例如,若要自动执行安装 PostgreSQL 服务器的任务,您可以输入 prompt - name: Install postgresql-server

    • 创建多任务提示

      将光标放在 Ansible YAML 文件中的新行中,并使用 Pound 键启动您的提示(#)。

      编写任务的描述,使用 Ampersand 符号(&)分隔每个提示。例如,要自动执行安装 PostgreSQL 服务器的多任务并运行初始 PostgreSQL setup 命令,您可以输入提示 # Install postgresql-server 并运行 postgresql-setup 命令

      Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并根据您的自然语言提示生成 Ansible 任务建议。

      注意

      目前,Red Hat Ansible Lightspeed 仅支持英语语言的用户提示。但是,有些情况下,用于培训 IBM watsonx Code Assistant 模型的培训数据包括非英语语言。在这种情况下,模型可以为同一非英语语言的提示生成代码建议,但生成的代码建议可能并不准确。

  • 查看内容源匹配结果

    对于每个生成的代码建议,Red Hat Ansible Lightspeed 会列出内容源匹配,包括潜在源、内容作者和相关许可证等详情。您可以使用这些数据深入了解用于生成代码建议的潜在培训数据源。

  • 对 Ansible Lightspeed 服务提供反馈

    Ansible Lightspeed 服务了解您的机构模式,并改进代码建议体验。您可以提供反馈,了解生成的代码建议是否适合您的任务意图。这个反馈可让带有 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 改进其建议质量。

4.3.2. 创建单任务建议

您可以通过在 Ansible VS Code 扩展中输入自然语言提示来请求单个任务的代码建议。例如,若要自动执行安装 PostgreSQL 服务器的任务,您可以输入 prompt - name: Install postgresql-server。Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并生成代码建议。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 创建新的 YAML 文件或使用现有的 YAML 文件:

    • 创建 YAML 文件:

      1. 选择 FileNew Text File
      2. 从屏幕右下角,单击 Plain Text,然后在语言模式中选择 Ansible
      3. 将文件保存为 YAML 文件格式扩展名(.yml.yaml)。
    • 使用现有的 YAML 文件:

      1. 在屏幕右下角,单击现有语言模式,然后在语言模式设置中选择 Ansible

        注意

        如果您没有在 VS Code 编辑器中看到语言模式 部分,请从 Command swig 中选择 Configure Language ModeAnsible

  3. 验证您在 VS Code 右下角的状态栏上看到 Lightspeed 的条目。

    如果 Ansible 已选为所需的语言,但没有显示 Lightspeed 条目,请重新选择 Ansible 作为语言模式。下图显示了 VS Code 状态栏上的 LightspeedAnsible 条目。

    图 4.2. Ansible 和 Lightspeed 设置为所选语言模式

  4. 可选:如果看到有关缺少 Ansible lint 的错误消息,您可以安装缺少的模块或禁用它。执行以下任务之一:

    • 安装 Ansible lint:有关安装信息,请参阅 Ansible Lint 文档中的安装部分。https://ansible.readthedocs.io/projects/lint/installing/
    • 禁用 Ansible lint:

      1. 在 Activity 栏中,点 Extensions 图标 Extensions
      2. Installed extensions 列表中,选择 Ansible
      3. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
      4. 清除 Ansible criu Validation criu Lint: Enabled 复选框。
  5. 创建 playbook 或使用现有的 playbook。

    如需更多信息,请参阅开始使用 playbook 指南。

  6. 在 playbook 中,提供以下信息来请求单个任务的代码建议:

    1. 通过在正确的缩进上启动带有 - name: 的新行来添加新的 Ansible 任务。
    2. 在任务描述 after - name: 在同一行中添加详细的自然语言提示。例如,您可以指定以下单任务提示: - name: Install postgresql-server
    3. 在任务描述后直接按 Enter 键。将光标保留在文件中的同一位置,并等待代码建议结果填充。

      Ansible Lightspeed 服务参与,它开始为单个任务生成代码建议。

      重要

      Ansible Lightspeed 服务每个任务需要 5 秒时间来填充代码建议。如果您使用多任务提示,Ansible Lightspeed 服务需要更长的时间(任务次数 5 秒)来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改了光标位置或按任意键,Ansible VS Code 扩展会取消请求,Ansible Lightspeed 服务不会处理您的请求。

      当 Ansible Lightspeed 服务参与时,会在屏幕右下角显示 Lightspeed 处理状态指示正在生成您的代码建议。

      Lightspeed icon

  7. 查看您的代码建议,并确保建议与您的任务意图匹配。

    下图显示了 Ansible Lightspeed 服务为单一任务生成的代码建议,即 Install postgresql-server

    Lightspeed single task in progress

  8. 接受或拒绝代码建议:

    • 要接受代码建议,请按 Tab
    • 要拒绝代码建议,请按 Esc

      注意

      如果拒绝建议,您可以修改提示并再次查看生成的代码建议,以匹配您的任务意图。

  9. ANSIBLE: LIGHTSPEED TRAINING MATCHES 选项卡中,查看内容源匹配结果。

    下图显示了在现有 Ansible Galaxy 内容中找到的培训匹配,用于安装 postgresql-server 的任务提示:

  10. Save 在 Ansible YAML 文件中保存代码建议更改。

4.3.3. 创建多任务建议

您可以通过在 Ansible VS Code 扩展中输入一系列自然语言任务提示来请求多任务代码建议。在 YAML 文件中,使用 pound 符号(disaster)启动您的提示,并使用 符号(&)分隔每个提示。

多任务提示示例

# Install postgresql-server & run postgresql-setup command
Copy to Clipboard Toggle word wrap

为了提高可读性,您可以在多行上分割多任务内联提示。要达到此目的,请用 符号(&)结束当前行,并使用哈希符号(#)启动下一行。

多任务提示通过多行分割的示例

# Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
# create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
# create an internet gateway & create a route table
Copy to Clipboard Toggle word wrap

Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并生成代码建议。

注意

在输入多任务提示时,如果您基于 ansible-lint 设置,则 Ansible VS Code 扩展可能会显示警告。这个警告是一个小的可读性错误,不会影响您的代码建议输出的质量。要解决错误,您可以通过将多任务内联提示拆分到多行来忽略它或修复它。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 创建新的 YAML 文件或使用现有的 YAML 文件。

    • 创建 YAML 文件:

      1. 选择 FileNew Text File
      2. 从屏幕右下角,单击 Plain Text,然后在语言模式中选择 Ansible
      3. 将文件保存为 YAML 文件格式扩展名(.yml.yaml)。
    • 使用现有的 YAML 文件:

      1. 在屏幕右下角,单击现有语言模式,然后在语言模式设置中选择 Ansible

        注意

        如果您没有在 VS Code 编辑器中看到语言模式 部分,请从 Command swig 中选择 Configure Language ModeAnsible

  3. 验证您在 VS Code 右下角的状态栏上看到 Lightspeed 的条目。

    如果 Ansible 已选为所需的语言,但没有显示 Lightspeed 条目,请重新选择 Ansible 作为语言模式。下图显示了 VS Code 状态栏上的 Lightspeed 条目。

    图 4.3. Ansible 和 Lightspeed 设置为所选语言模式

  4. 可选:如果看到有关缺少 Ansible lint 的错误消息,您可以安装缺少的模块或禁用它。执行以下任务之一:

    • 安装 Ansible lint:有关安装信息,请参阅 Ansible Lint 文档中的安装部分。https://ansible.readthedocs.io/projects/lint/installing/
    • 禁用 Ansible lint:

      1. 在 Activity 栏中,点 Extensions 图标 Extensions
      2. Installed extensions 列表中,选择 Ansible
      3. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
      4. 清除 Ansible criu Validation criu Lint: Enabled 复选框。
  5. 创建 playbook 或使用现有的 playbook。

    如需更多信息,请参阅开始使用 playbook 指南。

  6. 在 playbook 中,提供以下信息来请求多任务代码建议:

    1. 通过在正确的缩进中输入 pound 符号(TALM)来启动新的 YAML 文件注释。
    2. 按顺序添加详细的自然语言提示,通过使用 符号(&)分隔每个任务。

      多任务提示示例

      # Install postgresql-server & run postgresql-setup command
      Copy to Clipboard Toggle word wrap

      为提高可读性,请将您的多任务内联提示拆分到多行。要达到此目的,请用 符号(&)结束当前行,并使用哈希符号(#)启动下一行。

      多任务提示通过多行分割的示例

      # Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
      # create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
      # create an internet gateway & create a route table
      Copy to Clipboard Toggle word wrap

    3. 在任务描述后直接按 Enter 键。将光标保留在文件中的同一位置,并等待代码建议结果填充。

      Ansible Lightspeed 服务参与,它开始为多个任务生成代码建议。

      重要

      Ansible Lightspeed 服务每个任务需要 5 秒时间来填充代码建议。如果您使用多任务提示,Ansible Lightspeed 服务需要更长的时间(任务次数 5 秒)来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改了光标位置或按任意键,Ansible VS Code 扩展会取消请求,Ansible Lightspeed 服务不会处理您的请求。

      当 Ansible Lightspeed 服务参与时,会在屏幕右下角显示 Lightspeed 处理状态指示正在生成您的代码建议。

      Lightspeed icon

  7. 可选: 如果没有生成多任务代码建议,请从 VS Code 注销,并使用您的红帽帐户再次登录。
  8. 查看您的代码建议,并确保建议与您的任务意图匹配。

    以下示例显示,Ansible Lightspeed 服务为 Install postgresql-server & run postgresql-setup 命令 生成的代码建议:

    Lightspeed single task in progress

  9. 接受或拒绝代码建议:

    • 要接受代码建议,请按 Tab
    • 要拒绝代码建议,请按 Esc

      注意

      如果拒绝建议,您可以修改提示并再次查看生成的代码建议,以匹配您的任务意图。

  10. ANSIBLE: LIGHTSPEED TRAINING MATCHES 选项卡中,查看内容源匹配结果。

    下图显示了在现有 Ansible Galaxy 内容中找到的培训匹配,用于任务提示 multitask 提示 Install postgresql-server & run postgresql-setup 命令

  11. Save 在 Ansible YAML 文件中保存代码建议更改。

4.3.4. 查看 Ansible Lightspeed 培训匹配

使用 IBM watsonx Code Assistant 机器学习模型的 Red Hat Ansible Lightspeed 对以下内容进行了培训:

  • 现有公共或私有 Git 存储库
  • 来自 Ansible Galaxy 的内容

对 IBM watsonx Code Assistant 的 AI 技术以及用于培训模型的 Ansible 内容类型,无法识别贡献所生成的代码建议的特定培训数据集合。但是,Ansible Lightspeed 提供了一种功能,可帮助您了解可能生成的代码建议来源。

对于每个生成的代码建议,Red Hat Ansible Lightspeed 列出了内容源匹配,包括潜在源、内容作者和相关许可证等详情。您可以使用这些数据深入了解用于生成代码建议的潜在培训数据源。

在 VS Code 中输入自然语言提示并查看生成的代码建议后,您可以在 ANSIBLE: LIGHTSPEED TRAINING MATCHES 标签页上查看内容源匹配。

例如,以下图显示了对多任务建议 Install postgresql-server & run postgresql-setup 命令中的 培训匹配:

图 4.4. 培训与多任务建议匹配

通过此功能,您可以找到与相关培训数据关联的开源许可证条款。但是,不太可能在微调代码时使用的培训数据或输出建议本身受到版权保护,或者输出重现了受版权许可条款控制的培训数据。

注意

红帽在 IBM watsonx Code Assistant 中由 Red Hat Ansible Lightspeed 生成的建议中声明任何版权或其他相关的属性。

4.4. 创建 playbook 和查看 playbook 的解释

使用 Ansible VS Code 扩展,您可以使用英语中的自然语言接口创建 Ansible playbook。Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 会读取自然语言提示,并根据您的意图生成完整的 playbook 建议。您还可以查看新或现有 playbook 的解释。playbook 解释描述了 playbook 的作用,并上下文其影响。

这些功能使 Ansible 开发人员能够使用自然语言提示快速、高效地创建新的 Ansible playbook,并获得现有 Ansible playbook 的解释,从而减少了整体的学习周期。有关 Ansible playbook 的信息,请参阅开始使用 Ansible Playbook 指南。

注意

您可以创建 playbook,并在连接到 Red Hat Ansible Lightspeed 云服务和内部部署时查看 playbook 说明。

4.4.1. 创建 playbook 的最佳实践

遵循这些 playbook 建议的最高质量。

  • 确保目标语句直接指定 playbook 必须做什么。

    您的声明应从 playbook 的目标开始,例如,将安全补丁应用到 RHEL9。避免启动声明 ,创建 的 playbook请准备一个 playbook或者我需要帮助

  • 确保 goal 语句不包含新行。
  • 确保 target 语句不止一个句子。

    您可能需要在 goal 语句中重复详细信息,才能生成最佳结果。建议您使用生成的概述作为您的目标语句是否可能从更多或较少的详细信息中受益,然后根据需要修改目标声明。

  • 在编辑概述时确保以下内容:

    • 不要重新声明 playbook 的目标。
    • 验证在 playbook 中捕获关键步骤的步骤。这些步骤不需要反映 playbook 中预期的每个任务。
    • 在不向概述中添加新行的情况下,以一个句子保持步骤描述。

4.4.2. 生成 Ansible playbook

您可以使用 Ansible VS Code 扩展中的自然语言接口来生成整个 Ansible playbook。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. Activity 栏中,点 Ansible 图标。
  3. Ansible Creator 下,单击 Get started。此时会显示 Ansible Content Creator 页面。

    下图显示了 Ansible Content Creator 页面:

    图 4.5. 创建 Ansible playbook 的设置

  4. 选择带有 Ansible Lightspeed 标题的 Playbook。此时会显示 Create a playbook 页面。
  5. What do want the playbook to accomplish? 字段中,输入提示以创建 playbook,然后单击 Analyze

    几秒钟后,您的 playbook 意图的建议步骤会显示在您的 playbook 的"检查"步骤,并根据需要进行修改

  6. 执行以下任务之一:

    • 如果步骤与您的意图匹配:单击 Generate Playbook
    • 如果需要修改:点编辑器并更新任务或步骤以符合您的意图。
    • 如果任务建议与您的意图不匹配:单击 Back 以更改原始提示,然后重新开始。
    • 如果要恢复原始任务建议:点 Reset,然后继续下一步。
  7. 验证步骤后,单击 Generate playbook

    playbook 生成几秒钟,并且为字段 生成以下 playbook 会显示新生成的 playbook:

  8. 单击 Open editor。生成的 playbook 在 VS Code 编辑器中作为无权利的 YAML 文件打开。
  9. 保存没有权利的 YAML 文件。

4.4.3. 查看 playbook 的解释

您可以为新创建的 playbook 以及现有的 Ansible playbook 请求解释。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展
  • 您已打开了您要查看其说明的 playbook。

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 在 VS Code 中打开 Ansible playbook YAML 文件。
  3. 使用以下方法之一查看 playbook 的解释:

    • 从活跃的 playbook YAML 文件中

      1. 将光标放置在 playbook 文件中的任何位置。
      2. 右键单击并选择 说明使用 Ansible Lightspeed 的 playbook
    • 在 Ansible 面板中

      1. 在导航菜单中点 Ansible 图标。
      2. 选择 Explain the current playbook

        Playbook 解释显示在 VS Code 屏幕右侧面板中。

        下图显示了一个 playbook 的示例:

        图 4.6. playbook 解释示例

4.5. 创建角色和查看角色解释

您可以使用 Ansible VS Code 扩展在 Ansible 集合中创建角色。要创建角色,请使用 Ansible VS Code 扩展,选择 Role Generation 选项,然后使用英语语言输入自然语言提示。Red Hat Ansible Lightspeed 读取自然语言提示,并根据您的意图创建一个角色建议。您还可以查看新角色或现有角色的说明。角色解释描述了角色的作用,并上下文对其影响。

这些功能使 Ansible 开发人员能够使用自然语言提示快速高效地创建 Ansible 角色,并获得现有 Ansible 角色的说明。除了生成 playbook 外,角色生成也可以进一步减少您团队的学习周期。如需有关 Ansible 角色的信息,请参阅 Ansible Automation Platform 入门指南中的使用 Ansible 角色捆绑内容

注意

当只连接到 Red Hat Ansible Lightspeed 云服务时,您可以创建角色和查看角色说明。

4.5.1. 在集合中创建角色

您可以使用 Ansible VS Code 扩展中的自然语言接口在 Ansible 集合中创建一个或多个角色。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展 v25.3.0 或更高版本。有关流程,请参阅 安装和配置 Ansible VS Code 扩展
  • 您已在 Ansible VS Code 扩展中使用有效的集合目录配置了现有的 Ansible 环境。

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. Activity 栏中,点 Ansible 图标。
  3. 使用以下方法之一创建角色:

    • 在 Ansible 面板中

      1. 在导航菜单中点 Ansible 图标。
      2. Generate a role
    • 从命令面板

      • 在 VS Code 编辑器的 Command && 中,单击 ViewCommand && amp;,然后输入 & gt; Ansible Lightspeed: Role generation

        VS Code 屏幕右侧面板中会显示 Create a role with Ansible Lightspeed 页面。

  4. Select the collection to create role in 列表中,选择您要在其中创建角色的集合。您必须在工作区中有一个集合才能创建角色。

    如果没有集合,您必须使用以下方法之一创建它:

    • 使用以下命令:

      ansible-creator init collection myns.mycollection my_directory

      运行该命令后,使用 VS Code 打开新目录。

    • 使用 Ansible VS Code 扩展

      如需更多信息,请参阅 Ansible Automation Platform 入门指南 中的 关于内容集合 的主题。

  5. 您要在自然语言字段中实现的 Describe 中,输入提示以创建角色,然后点击 Analyze

    几秒钟后,您的角色意图的建议步骤会显示在 您的角色的建议步骤中,并根据需要进行修改

  6. 执行以下任务:

    1. 检查和(可选)更改角色名称。
    2. 查看创建角色的集合。
    3. 验证建议的步骤是否与您的意图匹配,然后单击 Continue

      生成角色需要几秒钟,并且新生成的角色与生成角色的文件列表一起显示。

      注意
      • 如果要修改步骤:点编辑器字段,更新提示或步骤以符合您的意图,然后单击 Continue
      • 如果角色建议与您的意图不匹配:单击 Back 以更改原始提示,然后重新开始。
      • 如果要恢复到原始建议的步骤:点 Reset,然后点 Continue 进入下一步。
  7. 单击 Save files。此时会显示包含新角色的文件列表。
  8. 单击文件,以在 VS Code 编辑器中打开它们。

4.5.2. 查看角色解释

您可以为新创建的角色以及现有的 Ansible 角色请求解释。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展 v25.3.0 或更高版本。有关流程,请参阅 安装和配置 Ansible VS Code 扩展
  • 您已打开了您要在 VS Code 编辑器中查看的角色。

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 在 VS Code 的 roles 目录中打开 Ansible 角色 YAML 文件。
  3. 使用以下方法之一查看 playbook 的解释:

    • 从活跃的角色 YAML 文件中

      1. 将光标放置在 playbook 文件中的任何位置。
      2. 右键单击并选择 Explain the role with Ansible Lightspeed
    • 在 Ansible 面板中

      1. 在导航菜单中点 Ansible 图标。
      2. 选择 Explain the current playbook
    • 从命令面板

      • 在 VS Code 编辑器的 Command && 中输入 Explain the role with Ansible Lightspeed

        角色解释显示在 VS Code 屏幕右侧面板中。

        以下示例显示一个角色说明示例:

        图 4.7. 角色解释示例

4.6. 查看审计日志

Ansible Visual Studio (VS Code)扩展现在在审计日志中记录所有 Red Hat Ansible Lightspeed 操作,供以后使用。每个交互都记录时间戳、执行的操作类型、请求任务的详细信息和其他相关信息。日志显示在 VS Code 编辑器的 Ansible Lightspeed Output Channel 中,并可用,直到您关闭 VS Code。

流程

  1. 打开 VS Code.
  2. 打开 VS Code 编辑器的 Command &&。
  3. 单击 OutputShow Output Channels,然后选择 Ansible Lightspeed

    VS Code 编辑器的底部会显示一个 Output 面板,其中包含所有用户操作的日志。

以下是审计日志的示例:

图 4.8. 审计日志

4.7. 提供有关 Ansible Lightspeed 服务的反馈

带有 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 旨在通过对其建议质量的反馈改进。在通知进一步改进时,可以使用 Red Hat Ansible Lightspeed 的用户体验的详细技术信息。

您可以通过以下频道提交反馈:

  • 在 Ansible VS Code 扩展中:使用此方法提供有关推荐代码建议质量的反馈。

    重要

    红帽支持无法协助提供建议质量报告。内容质量问题被路由到 IBM 以解决问题。

  • 在红帽客户门户中:使用此方法记录错误报告和服务中断事件,以及功能请求。access.redhat.com

先决条件

确保您满足以下要求 之一

  • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
  • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。

流程

  1. 打开 Visual Studio Code。
  2. 点状态栏中的 Lightspeed 条目查看选项。
  3. Tell us why 字段中,提供您的反馈。在这里,与生成结果以及培训匹配相比,提供您所期望收到的结果的反馈。
  4. 选择问题类型: Bug report, Feature request, 或 Suggestion 反馈

    注意

    要引发错误或功能请求,请联系红帽支持团队 并创建一个支持问题单。通过 Ansible Lightspeed 反馈发出的 bug 特性和功能请求不会通过 Red Hat 服务等级协议(SLA)进行跟踪。

  5. 选择 I understand that feedback is shared with Red Hat and IBM 复选框。
  6. 单击 Send

    下图显示了提供建议反馈的示例:

    图 4.9. 提供有关 Ansible Lightspeed 的反馈

第 5 章 管理 Ansible Lightspeed 服务

作为机构管理员,您可以使用 Red Hat Ansible Lightspeed 管理 Ansible Lightspeed 服务,以便您的用户和团队可以创建和使用自定义自动化内容。本章介绍了如何在 Red Hat Ansible Lightspeed 上设置为机构管理员的信息,详情:

  • 以机构管理员身份访问 Ansible Lightspeed 门户
  • 查看并管理 Admin 仪表板遥测数据
  • 配置自定义模型
注意

如果您使用免费的 90 天试用帐户,则需要试用或支付 Red Hat Ansible Automation Platform 订阅,但您不需要对 IBM watsonx Code Assistant 的试用或付费订阅。这意味着,在设置或使用试用帐户时不需要配置 API 密钥或模型 ID。

5.1. 登录到 Ansible Lightspeed 管理员门户

使用 Ansible Lightspeed 管理员门户将 Red Hat Ansible Lightspeed 连接到 IBM watsonx Code Assistant。

先决条件

  • 您有对具有有效的 Red Hat Ansible Automation Platform 订阅的红帽客户门户网站机构的组织管理员特权。

流程

  1. 以机构 管理员身份登录到 Ansible Lightspeed 门户
  2. Log inLog in with Red Hat
  3. 输入您的红帽帐户用户名和密码。Ansible Lightspeed 服务使用 Red Hat Single Sign-On (RH-SSO)进行身份验证。

    作为身份验证过程的一部分,Ansible Lightspeed Service 会检查您的机构是否有活跃的 Ansible Automation Platform 订阅。身份验证成功后,登录屏幕将与您的用户名和您分配的用户角色一起显示。

  4. 从登录屏幕,单击 管理门户

    您可以使用 IBM watsonx Code Assistant 管理员门户重定向到 Red Hat Ansible Lightspeed,您可以将 Red Hat Ansible Lightspeed 连接到您的 IBM watsonx Code Assistant 实例。

5.1.1. 注销 Ansible Lightspeed 服务

要从 Ansible Lightspeed Service 注销,您必须注销 Ansible Lightspeed VS Code 扩展和 Ansible Lightspeed 门户。

流程

  • 注销 Ansible Lightspeed VS Code 扩展:

    • Person 图标 Person icon 。您将看到 VS Code 登录的帐户列表。
    • 选择 Ansible LightspeedSign Out
  • 从 Ansible Lightspeed 门户注销:

5.2. 查看和管理 Admin 仪表板遥测

Red Hat Ansible Lightspeed 默认收集以下遥测数据:

  • 操作遥测数据

    这是操作并对 Ansible Lightspeed 服务进行故障排除所需的数据。如需更多信息,请参阅企业协议。您无法禁用操作遥测数据收集。

    这包括以下数据:

    • 您登录的组织(机构 ID、帐户号)
    • 您连接的大型语言模型(或型号)
  • 管理仪表板遥测数据

    这是深入了解您的机构用户如何使用 Ansible Lightspeed 服务的数据,指标会显示在 Admin 仪表板中。

    这包括以下数据:

    • 提示和内容建议,包括接受或拒绝内容建议
    • 用户发送反馈

      如果您不再要收集和监控遥测数据,您还可以禁用 Admin 仪表板遥测。

注意

Red Hat Ansible Lightspeed 内部部署尚不支持在 Admin 仪表板中查看遥测数据。

5.2.1. 先决条件

要查看和管理 Admin 仪表板遥测数据,请确保您有以下几项:

  • 您有对具有有效的 Red Hat Ansible Automation Platform 订阅的红帽客户门户网站机构的组织管理员特权。
  • 已安装收集管理员仪表板遥测所需的 Ansible VS Code 扩展 v2.13.148。
重要

Red Hat Ansible Lightspeed 不会收集用户的个人信息,如用户名或密码。如果意外收到任何个人信息,则数据将被删除。有关 Red Hat Ansible Lightspeed 的隐私实践的更多信息,请参阅 管理仪表板 的 Telemetry Data Collection Notice

5.2.2. 收集什么遥测数据?

以下是 Red Hat Ansible Lightspeed 收集的遥测数据列表:

  • 已登录的机构的详情,如机构 ID 和帐户号
  • 连接到的大型语言模型
  • 您的机构用户接受、拒绝或忽略的内联建议
  • 用户发送反馈
  • 代码建议中返回的前 10 个模块

5.2.3. 查看 Admin 仪表板遥测

Admin 仪表板显示分析遥测数据,可用于深入了解您的机构用户如何使用 Ansible Lightspeed 服务。

Admin 仪表板显示以下图表:

  • 用户接受、拒绝或忽略的内联建议

    此图跟踪您机构中用户接受、拒绝或忽略的内联建议数。使用此图深入了解您的机构用户如何使用 Ansible Lightspeed 服务。

  • 用户发送

    此图测量用户的反馈(feeling, opinions)。使用此图深入了解 Red Hat Ansible Lightspeed 的整体用户体验。

  • 代码建议中返回的前 10 个模块

    此图显示了代码建议中返回的前 10 个模块。使用此指标来确定将哪些模块推荐给您的组织的自动化开发人员。

流程

  1. 以机构管理员身份 使用 IBM watsonx Code Assistant Hybrid Cloud Console 登录到 Ansible Lightspeed
  2. 在导航面板中,选择 Ansible Lightspeed > Admin Dashboard

    Admin 仪表板显示过去 30 天内分析遥测数据的图形化表示。

  3. 使用以下过滤器来优化遥测数据:

    • 要查看特定时间段或自定义日期范围的遥测数据,请从 Quick Date Range 列表中选择日期范围。
    • 要只查看特定 IBM watsonx Code Assistant 模型的遥测数据,请从 Model Name 列表中选择模型 ID。默认情况下,Admin 仪表板显示所有模型的遥测数据。

5.2.4. 禁用 Admin 仪表板遥测

默认情况下,Red Hat Ansible Lightspeed 会收集 Admin 仪表板遥测数据。数据可让您了解您的机构用户如何使用 Ansible Lightspeed 服务。如果您不再要为您的机构收集分析遥测数据,您可以禁用 Admin 仪表板遥测。

禁用 Admin 仪表板遥测后,Ansible Lightspeed 服务不再为您的机构收集分析遥测数据。较早的遥测数据在 Admin 仪表板中仍然可用,但没有显示最新的数据。如果您重新启用 Admin 仪表板遥测,Ansible Lightspeed 服务将开始收集您的机构的数据,并在 24 小时后在 Admin 仪表板中显示指标。

先决条件

  • 您有对具有有效的 Red Hat Ansible Automation Platform 订阅的红帽客户门户网站机构的组织管理员特权。

流程

  1. 以机构 管理员身份登录到 Ansible Lightspeed 门户
  2. 从登录屏幕,单击 管理门户
  3. 在管理门户中,单击 Telemetry
  4. 要禁用 Admin 仪表板遥测,请仅选择 Operational telemetry data

    注意

    要重新启用 Admin 仪表板遥测,请选择 Admin dashboard telemetry data

  5. Save

5.3. 配置自定义模型

作为机构管理员,您可以创建并使用在组织现有 Ansible 内容上培训的自定义模型。借助此功能,您可以将模型调整到组织的自动化模式,并改进代码建议体验。

创建自定义模型后,您可以指定以下访问类型之一:

  • 为机构中所有用户启用访问权限

    您可以将自定义模型配置为机构的默认模型。您的机构中的所有用户可以使用自定义模型。

  • 为机构中所选 Ansible 用户启用访问权限

    使用 Ansible VS Code 扩展中的 model-override 设置,选择 Ansible 用户可以调整其 Ansible Lightspeed 服务,以使用自定义模型而不是默认模型。

5.3.1. 配置自定义模型的流程

要配置自定义模型,请执行以下任务:

5.3.2. 使用内容解析程序工具创建培训数据集

使用内容解析器工具(命令行界面(CLI)工具)扫描现有的 Ansible 文件并生成自定义模型培训数据集。培训数据集包括 Ansible 文件列表及其相对于项目 root 的路径。然后,您可以将此数据集上传到 IBM watsonx Code Assistant,并使用它来创建一个在机构的现有 Ansible 内容上接受的自定义模型。

5.3.2.1. 创建培训数据集的方法

您可以使用以下方法之一生成培训数据集:

  • 使用 ansible-lint 预处理

    默认情况下,内容解析器工具使用 ansible-lint 预处理生成培训数据集。内容解析器工具使用 ansible-lint 规则来扫描您的 Ansible 文件,并确保内容遵循 Ansible 最佳实践。如果找到规则违反情况,则内容解析程序工具会将这些文件排除在生成的输出中。在这种情况下,您必须解析规则违反情况,然后再次运行内容解析程序工具,以便生成的输出包含所有 Ansible 文件。

  • 没有 ansible-lint 预处理

    您可以在没有 ansible-lint 预处理的情况下生成培训数据集。在此方法中,内容解析器工具不会扫描 Ansible 文件是否有 ansible-lint 规则违反情况,因此,培训数据集会包括所有文件。虽然培训数据集包含所有文件,但可能不遵循 Ansible 最佳实践,但可能会影响您的代码推荐体验的质量。

5.3.2.2. 支持的数据源

content parser 工具扫描以下目录和文件格式:

  • 本地目录
  • 归档的文件,如 .zip.tar.tar.gz.tar.bz2.tar.xz 文件
  • Git 存储库 URL (包括私有和公共存储库)
5.3.2.3. 创建培训数据集的过程

要创建自定义模型培训数据集,请执行以下任务:

  1. 在机器上安装内容解析程序工具
  2. 生成自定义模型培训数据集
  3. 查看生成的培训数据集
  4. (可选:如果您生成了带有 ansible-lint 预处理和检测到的 ansible-lint 规则违反情况的培训数据,则 解决 ansible-lint 规则违反情况
  5. (可选:如果您生成了多个培训数据集),请将多个培训数据集放入单个 JSONL 文件中
5.3.2.4. 安装内容解析程序工具

在计算机上安装内容解析器工具(命令行界面(CLI)工具)。

先决条件

确定您的计算机有以下支持的操作系统之一:

  • Python 版本 3.10 或更高版本。
  • Unix OS,如 Linux 或 Mac OS。

    注意

    不支持在 Microsoft Windows OS 上安装内容解析程序工具。

流程

  1. 创建工作目录并设置 venv Python 虚拟环境:

    $ python -m venv ./venv

    $ source ./venv/bin/activate

  2. pip 存储库安装内容解析器工具的最新版本:

    $ pip install --upgrade pip

    $ pip install --upgrade ansible-content-parser

  3. 执行以下任务之一:

    • 要在没有 ansible-lint 预处理的情况下生成培训数据,请参阅 生成自定义模型培训数据集 的部分
    • 要使用 ansible-lint 预处理生成培训数据集,请确保您的计算机上安装了最新版本的 ansible-lint:

      1. 查看计算机上安装的 ansible-lint 版本。

        $ ansible-content-parser --version

        $ ansible-lint --version

        此时会显示应用程序版本及其依赖项列表。

      2. 在输出中,验证安装了内容解析程序工具的 ansible-lint 版本是否与之前安装的 ansible-lint 相同。安装的 ansible-lint 版本不匹配会导致内容解析程序工具和 ansible-lint 的结果不一致。

        例如,在以下输出中,内容解析程序工具安装包括 ansible-lint 版本 6.20.0,它与之前安装的 ansible-lint 版本 6.13.1 不匹配:

        $ ansible-content-parser --version
        ansible-content-parser 0.0.1 using ansible-lint:6.20.0 ansible-core:2.15.4
        $ ansible-lint --version
        ansible-lint 6.13.1 using ansible 2.15.4
        A new release of ansible-lint is available: 6.13.1 → 6.20.0
        Copy to Clipboard Toggle word wrap
      3. 如果 ansible-lint 版本中存在不匹配,请停用和重新激活 venv Python 虚拟环境:

        $ deactivate

        $ source ./venv/bin/activate

      4. 验证随内容解析程序工具安装的 ansible-lint 版本是否与之前安装的 ansible-lint 相同:

        $ ansible-content-parser --version

        $ ansible-lint --version

        例如,以下输出显示了您计算机上的两个 ansible-lint 安装都是 6.20.0 版本:

        $ ansible-content-parser --version
        ansible-content-parser 0.0.1 using ansible-lint:6.20.0 ansible-core:2.15.4
        $ ansible-lint --version
        ansible-lint 6.20.0 using ansible-core:2.15.4
        ansible-compat:4.1.10 ruamel-yaml:0.17.32 ruamel-yaml-clib:0.2.7
        Copy to Clipboard Toggle word wrap
5.3.2.5. 生成自定义模型培训数据集

安装内容解析器工具后,运行它扫描自定义 Ansible 文件并生成自定义模型培训数据集。然后,您可以将培训数据集上传到 IBM watsonx Code Assistant,并为您的机构创建一个自定义模型。如果您使用 ansible-lint 预处理并遇到规则违反情况,您必须在将培训数据集上传到 IBM watsonx Code Assistant 前 解决规则违反情况

您可以使用以下方法之一生成培训数据集:

  • 使用 ansible-lint 预处理

    默认情况下,内容解析器工具使用 ansible-lint 预处理生成培训数据集。内容解析器工具使用 ansible-lint 规则来扫描您的 Ansible 文件,并确保内容遵循 Ansible 最佳实践。如果找到规则违反情况,则内容解析程序工具会将这些文件排除在生成的输出中。在这种情况下,您必须解析规则违反情况,然后再次运行内容解析程序工具,以便生成的输出包含所有 Ansible 文件。

  • 没有 ansible-lint 预处理

    您可以在没有 ansible-lint 预处理的情况下生成培训数据集。在此方法中,内容解析器工具不会扫描 Ansible 文件是否有 ansible-lint 规则违反情况,因此,培训数据集会包括所有文件。虽然培训数据集包含所有文件,但可能不遵循 Ansible 最佳实践,但可能会影响您的代码推荐体验的质量。

先决条件

  • 您必须在计算机上安装了内容解析器工具。
  • 您必须确认安装了内容解析程序工具的 ansible-lint 版本与之前安装的 ansible-lint 相同。

流程

  1. 运行内容解析程序工具来生成培训数据集:

    • 使用 ansible-lint 预处理 :$ ansible-content-parser source output
    • 没有 ansible-lint 预处理 :$ ansible-content-parser source output -S

      下表列出了所需的参数。

      Expand
      参数描述

      source

      指定培训数据集的来源。

      output

      指定培训数据集的输出。

      -s--skip-ansible-lint

      指定在生成培训数据集时跳过 ansible-lint 预处理。

    例如: 如果源是 Github URL https://github.com/ansible/ansible-tower-samples.git,输出目录为 /tmp/out,则命令提示符如下:
    $ ansible-content-parser https://github.com/ansible/ansible-tower-samples.git /tmp/out

  2. 可选: 要使用其他信息生成培训数据集,请在运行内容解析器工具时指定以下参数。

    Expand
    参数描述

    --source-license

    指定在培训数据集中包含源目录的许可信息。

    --source-description

    指定在培训数据集中包含源目录的描述。

    --repo-name

    指定在培训数据集中包含存储库名称。如果没有指定存储库名称,则内容解析程序工具会自动从源名称生成。

    --repo-url

    指定在培训数据集中包含存储库 URL。如果没有指定存储库 URL,则内容解析程序工具会自动从源 URL 生成它。

    -v or --verbose

    显示控制台日志信息。

    Github 存储库 ansible-tower-samples的命令提示符示例

    $ ansible-content-parser --profile min \
    --source-license undefined \
    --source-description Samples \
    --repo-name ansible-tower-samples \
    --repo-url 'https://github.com/ansible/ansible-tower-samples' \
    git@github.com:ansible/ansible-tower-samples.git /var/tmp/out_dir
    Copy to Clipboard Toggle word wrap

    为 Github 存储库 ansible-tower-samples生成的培训数据集示例

    培训数据集被格式化为 Jeff Goldblum (jg),它是一个命令行 JSON 处理工具。

    $ cat out_dir/ftdata.jsonl| jq
    {
    "data_source_description": "Samples",
    "input": "---\n- name: Hello World Sample\n hosts: all\n tasks:\n - name: Hello Message",
    "license": "undefined",
    "module": "debug",
    "output": " debug:\n msg: Hello World!",
    "path": "hello_world.yml",
    "repo_name": "ansible-tower-samples",
    "repo_url": "https://github.com/ansible/ansible-tower-samples"
    }
    Copy to Clipboard Toggle word wrap
5.3.2.6. 查看生成的培训数据集

在内容解析器工具扫描 Ansible 文件后,它会在输出目录中生成培训数据集。培训数据集包含一个 ftdata.jsonl 文件,它是内容解析程序工具的主要输出。文件以 JSON 行文件格式提供,其中每一行条目代表一个 JSON 对象。您必须将此 JSONL 文件上传到 IBM watsonx Code Assistant,以创建自定义模型。

结果

生成的输出目录具有以下文件结构:

output/
  |-- ftdata.jsonl  # Training dataset
  |-- report.txt   # A human-readable report
  |
  |-- repository/
  |     |-- (files copied from the source repository)
  |
  |-- metadata/
        |-- (metadata files generated during the execution)
Copy to Clipboard Toggle word wrap

其中:

  • ftdata.jsonl :培训数据集文件,它是内容解析程序工具的主要输出。该文件以 JSON Lines 文件格式提供,其中每行条目代表一个 JSON 对象。您必须在 IBM watsonx Code Assistant 中上传此 JSONL 文件,以创建自定义模型。
  • report.txt: 人类可读的文本文件,提供所有内容解析程序工具执行的摘要。
  • Repository : 包含源存储库中的文件的目录。 有时,ansible-lint 根据配置的规则更新目录,因此输出目录的文件内容可能与源存储库不同。
  • 元数据 :包含多个元数据文件的目录,其中包含在每个内容解析工具执行过程中生成的元数据文件。

后续步骤

您可以使用 report.txt 文件解决 ansible-lint 规则违反情况。report.txt 文件包含以下信息:

  • 按类型的文件计数:根据文件类型,如 playbook、任务、处理程序和 jinja2 等文件列表。
  • 已确定的 Ansible 文件列表:由 ansible-lint 标识的文件列表、文件类型以及文件是否从进一步处理中排除,还是由 ansible-lint 自动修复。
  • 任务中找到的 Ansible 模块列表:由 ansible-lint 标识的模块列表、模块类型以及文件是否从进一步处理中排除,还是由 ansible-lint 自动修复。
  • ansible-lint 发现的问题:问题列表以及 ansible-lint 执行结果的简短摘要。如果 ansible-lint 在第一次执行时遇到带有语法检查错误的文件,它会启动第二次执行,并排除扫描错误的文件。您可以使用此信息解析 ansible-lint 规则违反情况。
5.3.2.7. 关于 ansible-lint 规则违反情况

默认情况下,内容解析器工具使用 ansible-lint 规则来扫描您的 Ansible 文件,并确保内容遵循 Ansible 最佳实践。如果找到规则违反情况,则内容解析程序工具会将这些文件排除在生成的输出中。在这种情况下,建议您在将培训数据集上传到 IBM watsonx Code Assistant 前修复带有规则违反情况的文件。

默认情况下,ansible-lint 应用在扫描 Ansible 文件时,ansible-lint/src/ansiblelint/rules 中配置的规则。有关 ansible-lint 规则的更多信息,请参阅 Ansible Lint 文档

  • 使用自动修复

    内容解析器工具使用 --fix=all 选项运行 ansible-lint,以执行自动修复,这样可修复或简化由该规则识别的问题。

    如果 ansible-lint 识别具有关联自动修复的规则违反情况,它会自动修复或简化违反规则的问题。如果 ansible-lint 识别没有关联自动修复的规则违反情况,它会将这些实例报告为必须手动修复的规则违反情况。有关自动修复的更多信息,请参阅 Ansible Lint 文档中的自动修复

  • 使用 syntax-checks

    ansible-lint 还在扫描 Ansible 文件时执行语法检查。如果找到了任何 syntax-check 错误,ansible-lint 将停止处理文件。有关 syntax-check 错误的更多信息,请参阅 Ansible Lint 文档中的 syntax-check

    内容解析器工具通过以下方式处理 syntax-check 规则违反情况:

    • 如果在 ansible-lint 的第一个执行中发现了语法检查 错误,则内容解析器工具会生成包含规则违反情况的文件列表。
    • 如果在 ansible-lint 的第一次执行中发现一个或多个 syntax-check 错误,则内容解析程序工具会再次运行 ansible-lint,但排除了具有 syntax-check 错误的文件。扫描完成后,内容解析器工具会生成包含规则违反情况的文件列表。列表中包含导致 syntax-check 错误和其他规则违反情况的所有文件。内容解析器工具排除了所有将来扫描中带有规则违反情况的文件,最终培训数据集不包括来自排除文件的数据。
5.3.2.8. 解决 ansible-lint 规则违反情况

如果内容解析器工具在 Ansible 文件中发现 ansible-lint 规则违反情况,建议您在将培训数据集上传到 IBM watsonx Code Assistant 前修复带有规则违反情况的文件。如果没有解析规则违反情况,内容解析程序工具会从生成的输出中排除这些文件。

流程

使用以下方法之一解析 ansible-lint 规则违反情况:

  • 使用-- no-exclude 选项运行内容解析程序工具

    如果发现任何规则违反,包括语法检查错误,则执行将中止,并显示错误,且不会创建培训数据集。

  • 使用 --profile 选项限制 ansible-lint 用来扫描您的数据的规则集合

    建议您使用规则违反情况修复文件。但是,如果您不想修改源文件,您可以限制 ansible-lint 用来扫描数据的规则集合。要限制 ansible-lint 用来扫描数据的规则集合,请使用预定义的配置集(如 minbasic、base、moderate、Security、共享production 配置集)或使用 ansible-lint 配置文件指定- profile 选项。有关更多信息,请参阅 Ansible Lint 文档

  • 通过跳过 ansible-lint 预处理来运行内容解析器工具

    您可以运行没有 ansible-lint 预处理的内容解析器。内容解析器工具生成培训数据集,而不扫描 ansible-lint 规则违反情况。

    要运行没有 ansible-lint 预处理的内容解析器工具,请执行以下命令:
    $ ansible-content-parser source output -S

    其中:

    • source :指定培训数据集的来源。
    • 输出 :指定培训数据集的输出。
    • - s 或 --skip-ansible-lint :指定在生成培训数据集时跳过 ansible-lint 预处理。
5.3.2.9. 将多个培训数据集合并为一个文件

对于每个执行,内容解析器工具都会创建一个名为 ftdata.jsonl 的 training 数据集 JSONL 文件,该文件上传到 IBM watsonx Code Assistant 以创建自定义模型。如果内容解析程序工具多次运行,则创建多个 JSONL 文件。IBM watsonx Code Assistant 仅支持单个 JSONL 文件上传;因此,如果您有多个 JSONL 文件,则必须将它们合并到一个串联的文件中。您还可以将父目录中的多个子目录中生成的多个 JSONL 文件合并到一个文件中。

流程

  1. 使用命令提示符,前往父目录。
  2. 运行以下命令来创建单个串联文件:
    find . -name ftdata.json | xargs cat > concatenated.json
  3. 可选:重命名串联的文件以便轻松识别。

现在,您可以将合并的 JSONL 文件上传到 IBM watsonx Code Assistant,并创建一个自定义模型。

在内容解析程序工具生成自定义模型培训数据集后,将 JSONL 文件 ftdata.jsonl 上传到 IBM watsonx Code Assistant,并为您的机构创建一个自定义模型。

重要

根据培训数据集的大小,IBM watsonx Code Assistant 可能需要几小时时间来创建自定义模型。您必须继续监控 IBM Tuning Studio,以了解创建自定义模型的状态。

有关如何在 IBM watsonx Code Assistant 中创建和部署自定义模型的详情,请参考 IBM watsonx Code Assistant 文档

在 IBM watsonx Code Assistant 中创建和部署自定义模型后,您必须配置 Red Hat Ansible Lightspeed,以便您可以为您的机构使用自定义模型。

您可以为使用自定义模型指定以下配置之一:

  • 为机构中的所有用户启用访问权限

    您可以将自定义模型配置为您的机构的默认模型。您的机构中的所有用户可以使用自定义模型。

  • 为机构中选择 Ansible 用户启用访问权限

    使用 Ansible VS Code 扩展中的 model-override 设置,选择 Ansible 用户可以调整其 Ansible Lightspeed 服务,以使用自定义模型而不是默认模型。例如,如果您将 Red Hat Ansible Lightspeed 用作机构管理员和最终用户,您可以在为机构中的所有用户使用前测试选择 Ansible 用户的自定义模型。

流程

为自定义模型选择以下配置之一:

  • 为机构中所有 Ansible 用户配置自定义模型

    1. 以机构管理员身份 使用 IBM watsonx Code Assistant Hybrid Cloud Console 登录到 Ansible Lightspeed
    2. 指定自定义模型的型号 ID:

      1. Model Settings
      2. Model ID 下,点 Add Model ID。此时会显示输入 Model ID 的屏幕。
      3. 输入自定义模型的 Model ID
      4. 可选:点 Test model ID 来验证模型 ID。
      5. Save
  • 为机构中选择 Ansible 用户配置自定义模型

    1. 使用您的红帽帐户登录 VS Code 应用。
    2. 在 Activity 栏中,点 Extensions 图标 Extensions
    3. 在 Installed Extensions 列表中,选择 Ansible
    4. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
    5. 从设置列表中,选择 Ansible Lightspeed
    6. Model ID Override 字段中,输入自定义模型的型号 ID。

      您的设置会自动保存在 VS Code 中,您现在可以使用自定义模型。

第 6 章 安装和配置 Ansible 代码 bot

Ansible 代码 bot 扫描 GitHub 存储库中托管的现有内容集合、角色和 playbook,并在有最佳实践或质量改进建议时主动创建拉取请求。

Ansible 代码 bot 扫描您的代码存储库,以推荐代码质量改进。它促进 Ansible 最佳实践,同时避免常见错误导致错误,或者使代码更难以维护。bot 自动向存储库提交拉取请求,这会主动向存储库所有者发送建议更改的内容。您可以配置 Ansible 代码 bot 来扫描现有的 Git 存储库(公共和私有)。

注意

您的机构必须具有 Red Hat Ansible Automation Platform 的有效订阅才能使用 Ansible 代码 bot。但是,IBM watsonx Code Assistant 不需要使用 Ansible 代码 bot。

安装 Ansible 代码 bot 后,它会自动扫描采用 Jinja 格式的所选存储库。扫描完成后,代码 bot 会为每个存储库生成初始 PR;初始 PR 还包含配置为每周运行的扫描调度。您必须查看初始 PR 的更改,并合并 PR。初始 PR 合并后,会触发扫描调度,并每周执行后续的存储库扫描。如果需要,您可以将扫描调度改为每日或每月节奏。

您可以访问 Ansible 代码 bot 仪表板,其中显示所有带有 bot 安装的存储库及其扫描状态。在控制面板中,您可以启动手动扫描、查看扫描历史记录并查看存储库。从 GitHub 中,您可以将调度配置为定期扫描存储库,并从中添加或删除存储库。如需更多信息,请参阅管理存储库扫描

重要

以下 GitHub 版本支持 Ansible 代码 bot:

以下示例是 Ansible 代码 bot 建议的代码建议:

  • 可用于已弃用的旧语法或实现模式的替代方法
  • 模块版本更改和更新,例如:

    • 添加任何新的所需参数
    • 标记已弃用的参数
    • 删除未使用的参数
  • 应用 YAML 最佳实践
  • 添加注释块
  • 在名称字段中修复 casing 问题

6.1. 安装 Ansible 代码 bot

安装 Ansible 代码 bot 以获取存储库的代码建议,然后登录 Ansible 代码 bot 仪表板以监控和管理您的存储库扫描。

流程

  1. 使用与您的机构关联的帐户登录 GitHub。
  2. 进入 Ansible 代码 bot GitHub 应用。
  3. 选择您希望应用程序访问的 Ansible 存储库:

    • 所有软件仓库 :提供读取所有存储库元数据的访问权限。
    • 仅选择软件仓库 :提供访问权限来只读取您选择的存储库的元数据。
  4. 可选:如果您只选择上一步中的 存储库,请选择您希望 Ansible 代码 bot 从 Select repositories 列表访问的存储库。
  5. Install & Authorize。此时会显示一条信息,用于指定在安装过程中为 bot 自动授予以下权限:

    • 对元数据的读访问
    • 对代码和拉取请求的读和写访问
  6. 出现提示时,以机构管理员身份登录到您的 Red Hat Single Sign-On 帐户。
  7. 登录到 Ansible 代码 bot 仪表板:

    1. Authorize Ansible code bot 页面中,验证您的帐户和存储库权限。
    2. Authorize Ansible

      Authorize Ansible code bot 页面中,会出现以下操作:

      • Ansible 代码 bot 会验证您是否是拥有 Red Hat Ansible Automation Platform 有效订阅的机构的一部分。
      • GitHub 请求读取权限,以访问与您的帐户关联的存储库。

在授权成功后,您登录到 Ansible 代码 bot 仪表板。仪表板显示安装有 Ansible 代码 bot 的所有存储库及其扫描状态。

验证

安装 Ansible 代码 bot 后,它会自动扫描采用 Jinja 格式的所选存储库。扫描完成后,代码 bot 会为每个存储库生成初始 PR;初始 PR 还包含配置为每周运行的扫描调度。

执行以下任务:

  1. 查看第一个 PR 是否有推荐的更改,并合并 PR。

    合并初始 PR 后,会触发配置的扫描调度,并每周执行后续的存储库扫描。

    注意

    如果您没有合并初始 PR,则不会触发每周扫描调度,Ansible 代码 bot 仪表板在没有关联扫描历史记录的情况下显示存储库。

    下图显示了正在创建的初始 PR 的示例:

  2. 可选:如果需要,您可以手动扫描存储库,或者将 扫描调度改为每日或每月节奏
  3. 通过添加存储库或从扫描中删除现有存储库来修改扫描的存储库

6.2. 卸载 Ansible 代码 bot

如果您不再使用 Ansible 代码 bot,您可以从 GitHub 中卸载它。卸载代码 bot 后,您仍然可以访问 Ansible 代码 bot 仪表板,但您无法在仪表板上看到存储库或扫描存储库。

流程

  1. 使用与您的机构关联的帐户登录 GitHub。
  2. 在 GitHub 中,点您的配置集 photo > Settings
  3. 在 Integrations 下,点 Applications > Installed GitHub Apps
  4. 点 Ansible 代码 bot 应用程序旁边的 Configure
  5. Danger 区 区中点 Uninstall

    Ansible 代码 bot 应用程序从 GitHub 帐户卸载。

6.3. 管理存储库扫描

Ansible 代码 bot 仪表板显示安装代码 bot 的仓库列表,并指示扫描计划是否未设置,或者设置为手动或调度扫描。

您可以通过启动手动扫描来扫描 Git 存储库,或者将调度配置为定期扫描存储库。扫描完成后,您可以查看扫描历史记录(启动时间、状态、扫描类型、创建时到拉取请求)以及扫描失败时的日志消息。您还可以添加新软件仓库来扫描或删除现有软件仓库被扫描。

6.3.1. 手动扫描 Git 存储库

如果您没有为 Ansible 代码 bot 设置扫描调度,或者您不想等待下一次调度的扫描扫描,您可以手动扫描 Git 存储库。如果您手动扫描存储库且没有创建拉取请求,这可能是因为重复的拉取请求已存在。您可以从 Ansible 代码 bot 仪表板和 GitHub 扫描存储库。

如果您没有为 Ansible 代码 bot 设置扫描调度,或者您不想等待下一次调度的扫描扫描,您可以手动扫描 Git 存储库。

流程

  1. 登录 Ansible 代码 bot 仪表板

    Repositories 列表显示您选择的用于扫描的存储库列表。

    注意

    如果您在 Repositories 列表中没有看到您的存储库,您可以添加它以进行扫描。如需更多信息,请参阅从 Ansible 代码 bot 中添加或删除存储库

  2. 要启动对库的手动扫描,请点击您要扫描的存储库旁的 Ellipsis 图标( Ellipsis icon ),然后选择 Scan
  3. 单击 Refresh 以查看扫描作业的状态。
  4. 要查看有关存储库扫描的更多详细信息,请点存储库旁边的 Ellipsis 图标( Ellipsis icon ),然后选择 View scan history

    存储库的扫描历史记录以及扫描启动时间、扫描状态、扫描类型(调度或手动)和拉取请求(如果创建)链接,如果扫描失败,则链接到拉取请求。

  5. 要在 GitHub 上查看您的存储库,请点存储库旁边的 Ellipsis 图标( Ellipsis icon )并选择 View repository
6.3.1.2. 从 GitHub 手动扫描存储库

如果没有为您的 Ansible 代码 bot 设置扫描调度,或者不想等待下一个调度的扫描扫描,则可以从 GitHub 中手动扫描 Git 存储库。

流程

  1. 在 GitHub 中,进入您要扫描的存储库的主页。
  2. 要修改存储库设置,请点击 About 区域旁边的 Settings 图标。
  3. Topics 字段中,输入关键字 topic ansible-code-bot-scan 到存储库。

    下图显示了启动手动扫描的关键字主题:

  4. Save changes

    根据存储库 webhook 事件,Ansible 代码 bot 启动对存储库的手动扫描。如果没有满足重复的拉取请求条件,则手动扫描结果会进入一个新的拉取请求,其中包含所有必要的 Ansible 代码 bot 建议。

安装 Ansible 代码 bot 后,它会自动扫描采用 Jinja 格式的所选存储库。扫描完成后,代码 bot 会为每个存储库生成初始 PR;初始 PR 还包含配置为每周运行的扫描调度。您必须查看初始 PR 的更改,并合并 PR。初始 PR 合并后,会触发扫描调度,并每周执行后续的存储库扫描。如果需要,您可以将扫描调度改为每日或每月节奏。

注意

如果您没有合并初始 PR,则不会触发每周扫描调度,Ansible 代码 bot 仪表板在没有关联扫描历史记录的情况下显示存储库。在这种情况下,您必须手动创建一个配置文件 ansible-code-bot.yml,并在 文件中指定扫描调度。

您可以指定以下间隔节奏之一来扫描 Git 存储库:

  • 每日:每天从星期一到周五运行。
  • 每周:在 Monday 上每周运行一次。根据初始配置 PR,Ansible 代码 bot 设置为每周扫描您的存储库,直到您将调度更改为每日或每月。
  • monthly:在每月第一天运行一次。

对于每个间隔节奏,Ansible 代码 bot 开始以 9 点 UTC 扫描您的 Git 存储库。

流程

  1. 在 GitHub 中,导航到您要扫描的存储库。
  2. 在仓库 .github 文件夹中创建一个名为 ansible-code-bot .yml 的 .yml 配置文件。
    例如: .github/ansible-code-bot.yml
  3. 在配置文件中,以 interval 参数指定扫描调度。您可以将 interval 参数指定为 每日weeklymonthly。例如:

    schedule:
      interval: daily
    Copy to Clipboard Toggle word wrap
  4. 提交您的更改。

Ansible 代码 bot 根据您在 9 点 UTC 时间配置的计划开始扫描您的存储库。

6.3.3. 查看存储库的扫描历史记录

使用 Ansible 代码 bot 仪表板查看存储库及其扫描历史记录的列表。

流程

  1. 登录 Ansible 代码 bot 仪表板

    Ansible 代码 bot 仪表板显示安装代码 bot 的仓库列表,并指示扫描计划是否未设置,或者设置为手动或调度扫描。

  2. 要查看您仓库扫描的历史记录,请点存储库旁边的 Ellipsis 图标( Ellipsis icon ),然后选择 View scan history

    存储库的扫描历史记录以及扫描启动时间、扫描状态、扫描类型(调度或手动)和拉取请求(如果创建)链接,如果扫描失败,则链接到拉取请求。

  3. 要在 GitHub 上查看您的存储库,请点存储库旁边的 Ellipsis 图标( Ellipsis icon )并选择 View repository

6.3.4. 从 Ansible 代码 bot 中添加或删除存储库

您可以为存储库启用 Ansible 代码 bot,或删除您不再需要管理的存储库。

流程

  1. 登录 Ansible 代码 bot 仪表板
  2. 单击 GitHub 上的 Manage Code Bot
  3. 在 GitHub 中,点您的配置集 photo > Settings
  4. Integrations 下,单击 Applications
  5. Repository access 区域中,执行以下任务之一:

    • 添加新软件仓库 : 在 Select repositories 列表中,选择您要添加的存储库。新添加的存储库显示在 Ansible 代码 bot 仪表板中。
    • 删除现有存储库: 从 Select repositories 列表中,单击您要删除的存储库旁边的 图标。删除的存储库详情在 Ansible 代码 bot 仪表板中不再可见。
  6. Save

6.4. Ansible 代码 bot 如何处理重复的拉取请求

  • 如果 Ansible 代码 bot 在最新的提交默认分支上创建了拉取请求,则不会扫描存储库。bot 跳过扫描存储库,因为拉取请求是在最新的默认分支上提交,因此在拉取请求后不会进行新的提交。
  • 如果有不在最新的提交默认分支中的现有拉取请求,Ansible 代码 bot 会执行拉取请求差异,以比较两个分支中的更改。可能会出现以下情况:

    • 现有扫描结果和新的扫描结果之间没有区别 :Ansible 代码 bot 不会推送扫描结果作为新的拉取请求。
    • 现有扫描结果和新的扫描结果有区别 :Ansible 代码 bot 创建新的拉取请求。新创建的拉取请求不会关闭现有的拉取请求,因此记录拉取请求差异。通过此行为,存储库管理员只能检查由 Ansible 代码 bot 创建的最新拉取请求,管理员可以避免查看 bot 创建的旧拉取请求。如果需要,管理员可以关闭旧的拉取请求。

第 7 章 故障排除

本节包含帮助您在 IBM watsonx Code Assistant 中使用 Red Hat Ansible Lightspeed 来诊断和解决问题的信息。

7.1. Red Hat Ansible Lightspeed 配置错误故障排除

本节提供有关配置 Red Hat Ansible Lightspeed 及其临时解决方案时的错误信息。

7.1.1. 无法访问 Ansible Lightspeed 管理员门户

红帽机构管理员只能访问 Ansible Lightspeed 管理员门户。

如果您是红帽机构管理员,在访问 Ansible Lightspeed 管理员门户前,请确保:

  • 有一个有效的 Ansible Automation Platform 订阅。

7.1.2. 无法保存 API 密钥

当您输入 IBM watsonx Code Assistant API 密钥时,身份验证会失败并显示以下出错信息:

IBM Cloud API 密钥无效

Red Hat Ansible Lightspeed 通过生成关联的访问令牌来验证 API 密钥。要解决这个问题,请确保您在从 IBM watsonx Code Assistant 获取 API 密钥时意外包含任何额外空格。如果您仍然无法上传 API 密钥,请联系 IBM 支持

7.1.3. 无法因为身份验证失败配置模型 ID

当您在 Red Hat Ansible Lightspeed 管理员门户中输入模型 ID 时,身份验证会失败。

要解决这个问题,请确保:

  • 在上传模型 ID 前,您已经配置了有效的 API 密钥。
  • 输入模型 ID 时,您没有意外包含任何额外的空格。

7.1.4. 无法因为干扰失败而配置模型 ID

在验证模型 ID 时,Red Hat Ansible Lightspeed 执行测试信息。如果 Red Hat Ansible Lightspeed 检测到错误,验证会失败并显示 Inference failed 信息。

要解决这个问题,请确保:

  • 您有一个有效的 API 密钥和模型 ID。
  • 从 IBM watsonx Code Assistant 获取 API 密钥和模型 ID 时,您没有意外包含任何额外空格。

7.2.1. 无法登录到 Ansible Lightspeed 门户

配置 Red Hat Ansible Lightspeed 内部部署并尝试登录到 Ansible Lightspeed 门户后,日志尝试会失败。可能会出现以下情况:

  • 日志尝试失败并显示以下错误消息:

    error: invalid_request

    不匹配重定向 URL

    这个错误表示登录重定向 URI 的配置不正确。重定向 URI 参数必须包含 Red Hat Ansible Lightspeed 实例的 URL 以及 /complete/aap/ 后缀。以下是登录重定向 URI 的示例:

    https://lightspeed-on-prem-web-service.com/complete/aap/

    如需更多信息 ,请参阅更新 Redirect URI

  • 日志尝试失败并显示以下错误消息:

    error: invalid_request

    无效的 client_id 参数值

    此错误表示授权连接 secret 包含不正确的 客户端 ID 值。要解决这个问题,请确保您没有意外将任何空格字符(额外行、空格等)添加到授权连接 secret 中的 auth_api_key 参数中。如需更多信息,请参阅创建连接 secret

  • 日志尝试失败并显示以下错误消息:

    ERROR:您的凭证不允许

    您目前没有访问权限。

    此错误表示授权连接 secret 包含不正确的 客户端 secret 值。要解决这个问题,请确保您没有意外将任何空格字符(额外行、空格等)添加到授权连接 secret 中的 auth_api_secret 参数中。如需更多信息,请参阅创建连接 secret

  • 日志尝试失败并显示以下错误消息:

    未找到

    无法找到请求的资源。

    此错误表示使用不正确的 API URL 值来创建授权连接 secret。要解决此错误,请确保 auth_api_url 参数包含前缀 https:// 和后缀 /api/。如需更多信息,请参阅创建连接 secret

  • 日志尝试失败并显示以下错误消息:

    未找到服务器

    此错误表示授权连接 secret 中的 API URL 值不包含后缀 /api/。要解决此错误,请确保 auth_api_url 参数包含后缀 /api/。如需更多信息,请参阅创建连接 secret

  • 日志尝试失败并显示以下错误消息:

    服务器错误(500)

    此错误消息表示服务具有内部错误,或者授权连接 secret 包含不正确的 API URL 值。要解决此错误,请确保 auth_api_url 参数包含前缀 https:// 而不是 http://。如需更多信息,请参阅创建连接 secret

  • 日志尝试失败并显示以下错误消息:

    错误请求(400)

    要解决此错误,请检查授权 secret 中的 auth_allowed_hosts 参数。对于测试诊断,请使用星号 HEKETI 符号。如需更多信息,请参阅创建连接 secret

7.2.2. 无法从 Ansible Lightspeed 门户注销

从 Ansible Lightspeed 门户注销后,您会被重定向到自动化控制器 API 页面,而不是 Ansible Lightspeed。

此错误表示在设置 Red Hat Ansible Lightspeed 内部部署时没有配置 logout 重定向 URI。您必须通过将 LOGOUT_ALLOWED_HOSTS 条目添加到 YAML 文件来配置注销重定向 URI。如需更多信息 ,请参阅更新 Redirect URI

可能会出现以下情况:

  • 日志尝试失败并显示以下错误消息:

    启用设置中的 lightspeed 服务,以使用该功能。

    此错误表示 Ansible Lightspeed 在 Ansible VS Code 扩展中没有启用。要解决这个问题,请执行以下任务:

    1. 打开 VS Code 应用。
    2. Activity 栏中,点 Extensions 图标。
    3. Installed Extensions 列表中,选择 Ansible
    4. Ansible 扩展页面中,点 Settings 图标( Settings icon )并选择 Extension Settings
    5. 选择 Ansible Lightspeed 设置,然后选择 Enable Ansible Lightspeed 复选框。
  • 在单击 Connect 按钮时,您将会被重定向到不正确的 Ansible Lightspeed 实例。

    此错误表示在 Ansible VS Code 扩展中配置 Ansible Lightspeed 服务时使用不正确的路由 URL。确保您已在路由 URL 中配置了正确的值,而无需任何后缀。如需更多信息,请参阅为 Red Hat Ansible Lightspeed 内部部署配置 Ansible VS Code 扩展

  • 无法请求代码建议

    此时会显示以下出错信息:

    尝试完成请求时出错。请稍后重试。

    此错误表示 Ansible Lightspeed 服务没有运行或正在出现问题。请检查 Lightspeed 服务日志(带有 suffix -api的 pod)以了解更多详情和错误代码。

  • 无法请求代码建议

    此时会显示以下出错信息:

    IBM watsonx Code Assistant 不可用。请稍后重试。

    或:

    IBM watsonx Code Assistant Model ID 无效。请联系您的管理员。

    此错误表示 model secret 包含不正确的值。要解决这个问题,请确保您没有意外将任何空格字符(额外行、空格等)添加到模型连接 secret 中的 用户名,model_url, 和 model_api_key 参数。如需更多信息,请参阅创建连接 secret

如果您在模型服务器上使用自签名证书,您可能会遇到 SSL 认证验证错误,从而导致 Ansible Lightspeed 服务和模型服务器的连接失败。此时会显示以下出错信息:

Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: self signed certificate in certificate chain (_ssl.c:1006)'))
Copy to Clipboard Toggle word wrap

要解决这个问题,请根据您的 Red Hat Ansible Automation Platform 版本使用以下临时解决方案之一:

Red Hat Ansible Automation Platform 2.5:

在模型 secret 中将可选的键/值对指定为 model_verify_ssl=true,以连接到 IBM watsonx Code Assistant 模型。有关流程的详情,请参阅创建连接 secret

Red Hat Ansible Automation Platform 2.4:

您可以禁用模型服务器和 Ansible Lightspeed 服务之间的 SSL 保护。例如,您可以在测试环境中禁用 SSL 保护。要禁用 SSL 保护,您必须在 spec: 部分下的 Red Hat Ansible Lightspeed 自定义资源定义(CRD) YAML 文件中添加以下额外设置:

extra_settings:
    - setting: ANSIBLE_AI_MODEL_MESH_API_VERIFY_SSL
      value: false
Copy to Clipboard Toggle word wrap
重新启用 SSL 保护

在生产环境中部署时,您必须重新启用 SSL 保护。要重新启用 SSL 保护,只需从 YAML 文件中删除额外设置。

流程

  1. 进入 Red Hat OpenShift Container Platform。
  2. 选择 OperatorsInstalled Operators
  3. Projects 列表中,选择安装 Red Hat Ansible Automation Platform Operator 时创建的命名空间。
  4. 找到并选择您之前安装的 Ansible Automation Platform (由 Red Hat 提供) Operator。
  5. 选择 Ansible Lightspeed 选项卡。
  6. 查找并选择您要更新的实例。
  7. 选择 YAML 选项卡。编辑器切换到 YAML 编辑器视图。
  8. 滚动并找到 spec: 部分,并在 spec: 部分中添加以下参数:

    extra_settings:
        - setting: ANSIBLE_AI_MODEL_MESH_API_VERIFY_SSL
          value: false
    Copy to Clipboard Toggle word wrap
  9. Save
  10. 重启自动化控制器 pod 以应用修改后的 YAML。
    执行以下步骤:

    1. 在 Red Hat OpenShift Container Platform 中,选择 WorkloadsPods
    2. 找到并选择您更新的 Ansible Lightspeed pod。
    3. 点 Pod 旁边的 Edit 图标,再选择 Delete Pod
      选择 pod 被删除并创建新的 pod。

可能会出现以下情况:

  • 您会收到 403 错误消息

    要解决这个错误,请确保:

    • 您的机构管理员为您的机构配置了 Red Hat Ansible Lightspeed。
    • 您满足以下 一项 要求:

      • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
      • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 您尚未配置所需的 Ansible VS 代码扩展设置。

    • 要解决这个问题,请确保您启用了 Lightspeed:EnabledLightspeedSuggestions:Enabled 设置。有关更多信息,请参阅配置 Ansible VS Code 扩展
  • 当您在 VS Code 中发出请求时,您会收到针对完成请求的错误。

    如果您是一个机构的一部分,它有一个对 Ansible Automation Platform 和 IBM watsonx Code Assistant 的试用或付费订阅,但您的机构管理员没有为您的机构配置 IBM watsonx Code Assistant 模型,则会出现对完成请求的错误。

  • 您会收到 Ansible Lightspeed 遇到错误。在一段时间后重试。 当您发出单任务或多任务请求时。

    当您将远程 SSH 扩展与 VS Code 搭配使用时,会在 playbook 中请求单个或多任务建议时发生此错误。但是,在使用角色时会生成任务建议。这个错误发生在包含大量角色的工作区中。

  • 您的 VS Code Workspace 设置会覆盖用户设置。

    如果配置了 Workspace 设置,它们可能会覆盖我们的用户设置,即使您正确配置了 Ansible VS Code 扩展。Workspace 设置可以禁用您的 VS Code 扩展设置,因此您无法访问 Ansible Lightspeed 服务。

    要解决这个错误,请确保 VS Code 中没有配置 Workspace 设置。如需更多信息,请参阅 VS Code 文档中的 Workspace 设置

  • 您输入了多任务提示,但没有生成代码建议。

    要解决此错误,请从 VS Code 注销,然后使用您的红帽帐户重新登录。

  • 您可以点击不同的位置或切换到不同的窗口,因此填充的代码建议会消失。

    Red Hat Ansible Lightspeed 服务每个任务可能需要几秒钟时间来填充代码建议。如果您使用多任务提示,Red Hat Ansible Lightspeed 服务需要一些时间来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改光标位置或按任意键,Ansible VS Code 扩展会取消请求,Red Hat Ansible Lightspeed 服务不会处理您的请求。在这种情况下,您必须使光标返回到其原始位置,并终止结果。

此时会显示以下出错信息:
Your trial to the generative AI 模型已过期。请参考您的 IBM Cloud 帐户,以重新启用对 IBM watsonx Code Assistant 的访问。

要解决这个错误,请参阅 IBM Cloud 帐户并选择升级选项。

通过代理通过代理连接到 Ansible VS 代码扩展时,您可能会遇到错误。与出站域 https://c.ai.ansible.redhat.com 的连接失败,并显示网络错误消息。

要解决这个问题,您必须在 VS Code 代理设置中添加 URL https://c.ai.ansible.redhat.com/。如果您使用 Red Hat Single Sign-On (RH-SSO)来验证用户,则必须在 VS code 代理设置中授予对 https://sso.redhat.com 的访问权限。

要修改 VS 代码中的代理设置,请执行以下任务:

  1. 打开 Visual Studio Code。
  2. 导航到 File > Preferences > Settings
  3. 在侧边栏中选择 ApplicationProxy
  4. Http: Proxy 字段中,添加以下 URL 到代理:

    • https://c.ai.ansible.redhat.com/
    • https://sso.redhat.com,如果您使用 RH-SSO 来验证用户。
  5. http: Proxy Support 下拉列表中,选择 Override
  6. 搜索并选择以下配置键:

    • Electron Fetch
    • 如果您使用自己的证书颁发机构(CA),则系统证书 V2

有关如何在 VS Code 中设置代理支持的详情,请参考 Chromium 项目文档中的 VS Code 文档中的 代理服务器支持以及代理设置和回退https://code.visualstudio.com/docs/setup/network#_proxy-server-support

如果您遇到网络问题,请使用 Network Proxy Test 扩展来测试连接:

  1. 安装 VS 代码扩展 网络代理测试
  2. 使用 Network Proxy Test: Test Connection 操作,通过参数 /check/status end-point 对服务器和端点进行目标。

    例如:

    https://c.ai.ansible.redhat.com/check/status/ 测试到 Red Hat Ansible Lightspeed 云服务的连接。

7.4. Ansible 代码 bot 错误故障排除

7.4.1. 无法访问 Ansible 代码 bot

安装 Ansible 代码 bot 并尝试登录后,您会收到以下错误消息:

您的机构没有有效的 Red Hat Ansible Lightspeed 订阅

安装 Ansible 代码 bot 后,您将会被重定向到显示活跃订阅状态的页面,如下图所示:

图 7.1. 带有有效订阅的 Ansible 代码 bot 登录屏幕

如果登录屏幕显示不活跃的订阅状态,Ansible 代码 bot 不会扫描您的 Git 存储库。发生错误的原因是,您的机构没有有效的 Ansible Automation Platform 订阅。要解决这个问题,请确保您是具有有效 Red Hat Ansible Automation Platform 订阅的机构的一部分。

7.4.2. 无法使用 Ansible 代码 bot 扫描 Git 存储库

如果没有正确配置 Ansible 代码 bot,它不会扫描 Git 存储库或不创建拉取请求。

要解决 Ansible 代码 bot 错误,请确保:

  • 您已选择要扫描的所有 Git 存储库。
  • 在仓库 .github 文件夹中有一个名为 ansible-code-bot .yml 的 .yml 配置文件。例如,.github/ansible-code-bot.yml

通过将 ansible-code-bot-scan 主题添加到存储库,对 git 存储库运行手动扫描。如需更多信息,请参阅 手动扫描 Git 存储库

如果 Ansible 代码 bot 仍然无法扫描 Git 存储库,则可能会出现以下情况:

  • Ansible 代码 bot 没有识别 Git 存储库中的任何 ansible-lint 违反情况。
  • Ansible 代码 bot 没有扫描 Git 存储库的权限。
  • 您的机构没有有效的 Red Hat Ansible Automation Platform 订阅。

7.4.3. 无法创建拉取请求

您可能会遇到在扫描 Git 存储库后 Ansible 代码 bot 无法创建拉取请求的错误。

要解决这个错误,请确保:

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat