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
來自: http://www.infoq.com/cn/news/2016/02/ansible-2.0-generally-available