Ansible-core 2.18 迁移指南

本节讨论了 ansible-core 2.17 与 ansible-core 2.18 之间的行为变更。

本指南旨在帮助您更新 Playbook、插件以及 Ansible 基础设施的其他部分,以便它们能与此版本的 Ansible 协同工作。

我们建议您在阅读本页的同时,参阅 ansible-core 2.18 版本变更日志,以了解您可能需要进行的更新。

本文档是移植系列指南的一部分。完整的移植指南列表可以在 移植指南 中找到。

Playbook

无显著变更

命令行

  • Python 3.10 不再作为控制节点版本受支持。现在运行 Ansible 需要 Python 3.11+。

  • Python 3.7 不再作为远程版本受支持。现在执行目标任务需要 Python 3.8+。

弃用内容

无显著变更

模块

无显著变更

已移除的模块

以下模块不再存在

  • 无显著变更

弃用通知

无显著变更

值得注意的模块变更

无显著变更

插件

  • ssh 连接插件现已正式支持针对 Windows 主机。作为此官方支持的一部分,一项破坏性变更已被实施:由 ansible.builtin.raw 等插件以及调用 _low_level_execute_command 的动作插件执行的底层命令,将不再被 powershell.exe 包装。这些命令现在将直接在目标主机上使用 Windows 主机上设置的默认 shell 配置执行。此更改旨在简化 Ansible 端的配置,提高模块执行效率,并消除对解码 stderr CLIXML 输出的需求。此更改的一个后果是,ansible.builtin.raw 命令不再保证通过 PowerShell shell 运行且输出编码为 UTF-8。若要通过 PowerShell 运行命令并获得 UTF-8 输出支持,请改用 ansible.windows.win_shellansible.windows.win_powershell 模块。

    - name: Run with win_shell
      ansible.windows.win_shell: Write-Host "Hello, Café"
    
    - name: Run with win_powershell
      ansible.windows.win_powershell:
        script: Write-Host "Hello, Café"
    

迁移自定义脚本

无显著变更

网络

无显著变更