Ansible Tower 3.3.0 目前我们正在使用 Ansible 2.4.2,需要升级到 2.5.x,以利用新功能,而不会破坏已经过测试且当前正在运行的现有作业。希望能够指定 Ansible 版本,用于正在运行的作业和认证,如果通过,则升级为使用新版本,如果失败,则继续使用其现有版本。
我们的剧本在网络设备、RHEL7、VMware、Openstack 和几种版本的 Windows 上运行。
我们之前已升级到 2.5.0 并遇到 win_copy、win_template 和其他一些模块故障,这迫使我们回滚到以前的工作版本。
稍后,我们将要修补/更新包括 Tower 本身在内的各种组件,因此任何有关开展这些活动的想法都将受到赞赏。
答案1
Ansible 的更新速度非常快,任何重大版本升级都有可能破坏非平凡的剧本。鉴于发布周期约为 4 个月,只能等待一年左右,之后您的版本就会终止使用。
您可以像软件开发一样对剧本的版本控制进行分支。分叉一个稳定的 2.4 分支进行维护。移植到主或主干主开发分支中的当前版本的 Ansible。
维护您要部署的某种开发、测试和生产环境。与处理其他更改一样,首先在开发测试阶段部署新的 Ansible 版本。
我不知道您将如何在 Tower 中测试不同的 Ansible 版本。我确信这意味着需要对 Tower 进行单独的测试部署。