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é"
    

移植自定义脚本

无重大变更

网络

无重大变更