Ansible 2.0正式发布,距离被Red Hat收购尚不足3个月
近日, Ansible公司正式发布了Ansible v2.0 。在这个版本中,该公司在努力保持向后兼容现有playbook的同时完成了了不起的重构工作。发布声明中包含多项改进,如块内异常处理,针对不同的任务引入新的执行策略,以及通过模块改进同其他服务的连接。
从这个版本开始,用户可以在他们的playbook里定义块了。 任务块 允许用户采用同许多编程语言一样的异常处理方式(例如Python的 try/except/finally结构 )。此外,用户可以借助不同的属性(如标签和条件)分组管理相关任务。
该版本还包含一种控制playbook执行的新方法。Ansible定义了 三种playbook策略 ,使用户可以配置不同任务在目标主机上的执行方式。现有的预置脚本遵循“线性策略”,在继续执行下个任务之前,一个任务会在所有主机上执行。“自由策略”允许每个主机尽快执行完自己的playbook,而不需要等待所有其他的主机。“序列”策略保证一组主机在另一组主机开始前完成本组的任务。另外,用户可以通过插件提供自己的策略。
该版本新增了 200多个模块 ,改进并扩展了对现有平台的支持,如Amazon Web Services、VMWare、Microsoft Windows、Docker。有一组全新的模块简化了OpenStack的管理。该版本中还出现了一个新的Docker插件。
插件API的变化迫使开发人员在升级到v2.0时必须 检查他们的插件 。Playbook中新增的动态include也可能会产生一些问题。Ansible高级首席软件工程师James Cammarata就这些兼容性问题同InfoQ分享了他的观点:
我认为,许多用户不会受API变化的影响,将插件移植到新API非常简单。困难之处在于编写可以完美兼容两个API版本的插件,如果有需要,我们将来可能会解决那个问题。
目前,针对引入动态include所产生的问题,我们正在寻找一种解决方案,很可能包含在2.1版本中(不过,如果我们觉得合适的话,我们可能会更早地引入)。
Red Hat在2016年10月 收购 了Ansible公司,那时, 2.0 beta版本 刚刚发布了没有几天。InfoQ就Red Hat对这个新版本的影响请教了Cammarata:
Red Hat没有对2.0版本提出任何意见。正如你看到的那样,在交易完成之前的一段时间里,我们一直忙于交易,当我们觉得Ansible已经准备好时就发布了。
查看英文原文: Ansible 2.0 Generally Available Short After Red Hat Acquisition
</div>来自: http://www.infoq.com/cn/news/2016/02/ansible-2.0-generally-available