てくなべ (tekunabe)

ansible / network / automation

[Ansible] AWX11.0 リリースによる tower モジュールの変更点

はじめに

2020/04/16 に AWX 11.0 がリリースされました。

Release Release 11.0.0 · ansible/awx · GitHub

Ansible 2.9 まで、Ansible 本体に標準で付属していた tower_* モジュールは、AWX 側で開発され、awx.awx collection として配布されています。

tekunabe.hatenablog.jp

この記事では、AXW 11.0 リリースに伴う、tower_* モジュールの変更点のうち、個人的に気になったものをまとめます。


■ すべての現役モジュールが 脱 tower-cli

11.0.0 has no non-deprecated modules that depend on the deprecated tower-cli PyPI

awx/awx_collection at 11.0.0 · ansible/awx · GitHub

もともと tower_* モジュール内部で利用していた tower-clilegacy 扱いになったため、脱 tower-cli 化が進められていました。

AWX 10.0 までは tower_credentialtower_workflow_launch がまだ tower-cli を利用していましたが、これらのモジュールも脱 tower-cli 化されました。

なお、依然として tower-cli を利用している以下のモジュールは、Deprecated(非推奨)となりました

非推奨モジュール名 概要 代替手段
tower_receive オブジェクト情報一式を取得する This module is deprecated and will be replaced by the AWX CLI export command.
toser_send オブジェクト情報一式を適用する This module is deprecated and will be replaced by the AWX CLI import command
tower_workflow_template ワークフロージョブテンプレートを設定する 後継の tower_workflow_job_template モジュールを利用する


tower_credential モジュール

awx/tower_credential.py at 11.0.0 · ansible/awx · GitHub

inputs オプションの追加

https://github.com/ansible/awx/blob/11.0.0/awx_collection/plugins/modules/tower_credential.py#L50-L57

従来の usernamepassword オプションなどの具体的な認証情報は、inputs オプション配下にしていすることになりました。

kind から credential_option オプションに変更

認証情報タイプを指定する kind オプションが、credential_option オプションに変更されました。

こちらのほうがしっくりくる気がします。

awx/tower_credential.py at 11.0.0 · ansible/awx · GitHub


tower_workflow_job_template モジュール

awx/tower_workflow_job_template.py at 11.0.0 · ansible/awx · GitHub

インベントリが反映されないバグの修正

issue を書いて寝て起きたら修正されました。ありがたい・・。

Resolve name to ID correctly in workflow jt module · ansible/awx@bd39fab · GitHub


workflow_job_template_nodes モジュール

ノードへの identifier 設定

identifier は、確かワークフロー内の各ノードが持つIDです。

make awxkit pass through identifier for wfjtn by kdelee · Pull Request #6592 · ansible/awx · GitHub


■ 全体

Auth2 対応

OAuth2 token に対応したようです。

awx/awx_collection at 11.0.0 · ansible/awx · GitHub


■ おわりに

Collection 側で開発が進むことによって、モジュールの改善が早くなっていることを実感します。