Ansible 2.5

核心引擎冻结和模块冻结:2018年1月22日

核心和精选模块冻结:2018年1月22日

社区模块冻结:2018年2月7日

候选版本 1 将于 2018 年 2 月 21 日发布

目标:2018年3月

服务版本发布计划:每 2-3 周

发布经理

Matt Davis (IRC/GitHub: @nitzmahone)

引擎改进

  • 组装模块改进 - 在检查模式下,组装只需跳过,它应该能够测试是否存在差异以及 changed=true/false。 - diff 也一样,它应该像模板模块一样工作

  • 更清晰地处理密码重置提示

  • 救援和忽略的任务统计信息

  • 规范化所有子系统中的临时目录使用

  • 添加选项以设置 adhoc、清单和控制台的 playbook 目录,以允许“相对路径加载”

Ansible-Config

  • 将配置扩展到更多插件类型,并更新插件以支持新的配置

清单

  • ansible-inventory 选项用于输出组变量分配和数据(–export)

  • 为以下内容创建清单插件: - aws

事实

  • 在 ansible/ansible PR #18445 中实现了命名空间事实变量(使用配置选项)。提案可在 ansible/proposals 问题 #17 中找到。

  • 使事实收集器和 gather_subset 规范更细化

  • 消除事实收集器之间不必要的依赖关系

  • 允许事实收集器指示它们是否需要首先收集来自另一个事实收集器的信息。

静态循环关键字

  • with_ 的更简单的替代方案,loop: 仅接受列表

  • 减少循环的复杂性,查找仍然可供用户使用

  • 与根据加载的插件动态变化的指令相比,拥有静态指令不太令人困惑。

Vault

  • Vault 密钥客户端包含新的“keyring”客户端

模块禁用时的运行时检查

  • 根据模块元数据中的“supported_by”等内容进行过滤

  • 为用户提供“警告、错误或允许/忽略”选项

  • 可使用 ansible.cfg 和环境变量进行配置

Windows

  • 在 Windows 事实上实现 gather_subset

  • 修复 Windows 异步 + become 以允许它们一起工作

  • 实现 Windows become 标志以控制各种模式 **(已完成)** - logontype - 提升行为

  • 将 win_updates 转换为操作插件以实现自动重启和其他功能 **(已完成)**

  • 尝试将连接更改为 PSRP 而不是 WSMV **(已完成 - 可行)**

  • 模块更新

    • win_updates **(已完成)**

      • 修复 win_updates 以检测(或请求)become

      • 向 win_updates 添加启用/禁用功能

    • win_dsc 进一步改进 **(已完成)**

通用云

  • 使多云配置更容易

  • 差异模式将输出 ansible-playbook 运行的配置任务结果

  • Terraform 模块

AWS

  • 专注于各种模块的拉取请求

  • 对模块的现有合并进行分类

  • 模块工作

    • ec2_instance

    • ec2_vpc:允许向现有 VPC 添加辅助 IPv4 CIDR。

    • AWS 网络负载均衡器支持(NLB 模块、ASG 支持等)

    • rds_instance

Azure

  • Azure CLI 身份验证 **(已完成)**

  • 修复 Azure 模块结果以输出“高级”结果,而不是原始 REST API 字典 **(部分完成,将在 2.6 中继续)**

  • 弃用 azure_rm_virtualmachine 中的 Azure 自动存储帐户 **(在 Azure Stack 上中断,推迟到 AS 支持托管磁盘)**

网络路线图

  • 将常见的网络共享代码重构到包中 **(已完成)**

  • 将各种 nxos 模块转换为使用声明性意图 **(已完成)**

  • 将各种模块重构为使用 cliconf 插件 **(已完成)**

  • 为支持的平台和功能添加各种缺少的声明性模块 **(已完成)**

  • 实现一个处理平台差异和功能不可用性的功能 **(已完成)**

  • netconf-config.py 应提供部署策略的控制

  • 创建 netconf 连接插件 **(已完成)**

  • 创建 netconf 事实模块

  • 将 network_cli 转换为可用的连接类型 **(已完成)**

  • 实现 ansible-connection 的 jsonrpc 消息传递 **(已完成)**

  • 改进 ansible-connection 的日志记录 **(已完成)**

  • 在使用持久连接时改进故障的标准输出 **(已完成)**

  • 创建 IOS-XR NetConf 插件并将 iosxr 模块重构为使用 netconf 插件 **(已完成)**

  • 将 junos 模块重构为使用 netconf 插件 **(已完成)**

  • 过滤器:添加一个过滤器以将网络设备的 XML 响应转换为 JSON 对象 **(已完成)**

文档

  • 将文档扩展到更多插件

  • 记录 vault-password-client 脚本。

  • 网络文档

    • 新的着陆页(替换 intro_networking) **(已完成)**

    • 平台特定指南 **(已完成)**

    • 演练:入门 **(已完成)**

    • 网络和 become **(已完成)**

    • 最佳实践 **(已完成)**

贡献者体验提升

  • 完成 PSScriptAnalyer 与 ansible-test 的集成(用于强制执行 Powershell 样式) **(已完成)**

  • 解决在 Python 3 上需要跳过某些集成测试的问题。