Ansible 2.6 移植指南
本节讨论 Ansible 2.5 和 Ansible 2.6 之间的行为变化。
旨在帮助您更新您的剧本、插件以及 Ansible 基础架构的其他部分,以便它们能够与此版本的 Ansible 兼容。
我们建议您阅读此页面以及 Ansible 2.6 的变更日志,以了解您可能需要进行哪些更新。
本文档是移植集合的一部分。完整的移植指南列表可以在 移植指南 中找到。
剧本
已弃用的任务选项
always_run已被移除,请改用check_mode: no。
已弃用
在 nxos_igmp_interface 模块 中,
oif_prefix和oif_source属性已弃用。请改用带有前缀和源值字典的ois_ps参数。
模块
此处详细介绍了常用模块中的主要更改
已移除的模块
以下模块不再存在
弃用通知
以下模块将在 Ansible 2.10 中移除。请相应更新您的剧本。
值得注意的模块变更
win_chocolatey的upgrade模块选项已移除;请改用state: latest。win_feature的reboot模块选项已移除;请改用win_reboot动作插件。win_iis_webapppool模块不再接受attributes模块选项的字符串;请改用自由格式的字典值。win_package的name模块选项已移除;此选项未使用,应从您的剧本中删除。win_regedit模块不再自动将蜂巢路径HCCC校正为HKCC;请使用HKCC,因为这是正确的蜂巢路径。file_module 在
src与hard或link以外的状态一起指定时,现在会发出弃用警告,因为它只应该与这些状态一起使用。这可能会影响依赖于 src 和其他状态之间错误交互来将文件放置到子目录中的人员。例如:$ ansible localhost -m file -a 'path=/var/lib src=/tmp/ state=directory'将创建一个名为
/tmp/lib的目录。与其使用上述方法,不如像这样直接指定完整的目标路径:$ ansible localhost -m file -a 'path=/tmp/lib state=directory'k8s_raw和openshift_raw模块已成为新的k8s模块的别名。k8s模块支持所有 Kubernetes 资源,包括来自自定义资源定义和聚合 API 服务器的资源。这包括所有 OpenShift 资源。k8s模块不接受子键已使用 snake_case 命名方式的资源。这是一种针对k8s_raw和openshift_raw模块建议使用的变通方法。k8s模块可能不接受已更改api_version以匹配 Kubernetes Python 客户端中缩短版本的资源。您现在应该为资源指定正确的完整 Kubernetesapi_version。k8s模块现在可以处理多文档 YAML 文件(如果它们与src参数一起传递)。它会将每个文档作为单独的资源进行处理。使用resource_definition参数内联提供的资源仍然必须是单个文档。k8s模块不会自动将Project创建请求更改为ProjectRequest创建请求,就像openshift_raw模块那样。您现在必须显式指定ProjectRequest类型。k8s模块不会自动从 Ansible 返回值(以及日志)中删除密钥。为了防止任务中的密钥值被记录,请在任务块上指定no_log参数。k8s_scale模块现在支持可缩放的 OpenShift 对象,例如DeploymentConfig。lineinfile模块已更改,当使用空字符串作为正则表达式时会显示警告。由于空正则表达式匹配文件中的每一行,它将替换文件的最后一行而不是插入。如果这是所需的行为,请使用'^',它将匹配每一行并且不会触发警告。OpenStack 模块不再使用
shade库。而是使用openstacksdk。由于openstacksdk应该已经作为shade的依赖项存在,因此不需要额外的操作。
插件
弃用通知
以下模块将在 Ansible 2.10 中移除。请相应更新您的剧本。
openshift使用k8s代替。
值得注意的插件更改
k8s查询插件现在支持所有 Kubernetes 资源,包括来自自定义资源定义和聚合 API 服务器的资源。这包括所有 OpenShift 资源。k8s查询插件可能不接受api_version已更改为匹配 Kubernetes Python 客户端中缩短版本 的资源。现在应该为资源指定正确的完整 Kubernetesapi_version。k8s查询插件将不再从 Ansible 返回值(以及扩展的日志)中删除密钥。为了防止任务中的密钥值被记录,请在任务块上指定no_log参数。
移植自定义脚本
没有显著变化。
网络
没有显著变化。
动态清单脚本
contrib/inventory/openstack.py已重命名为contrib/inventory/openstack_inventory.py。如果您已使用openstack.py作为 OpenStack 动态清单文件的名称,请将其更改为openstack_inventory.py。否则,文件名将与openstacksdk的导入冲突。