はじめに
Ansible Tower / AWX には、Playbook をジョブテンプレートとして実行する機能の他にも、アドホックな ansible コマンドを実行する機能もあります。
デフォルトでは利用できるモジュールが限られていて、たとえばネットワーク機器に対して有効なモジュールは選択できません。 こんなときのために、利用できるモジュールを設定で追加、削除ができます。(昨日知りました)

この記事では、追加する設定方法と実行例をまとめます。
- 動作確認環境
- AWX 11.0
設定
設定 > ジョブ 画面の アドホックジョブで許可されるANSIBLEモジュール に追加したいモジュールを入力します。
ここでは、マルチベンダーに対応するネットワークモジュールであれる cli_command モジュール を追加します。

アドホックコマンドの実行
まず、インベントリのホスト一覧画の画面から、対象のホストを選択して コマンドの実行 ボタンをクリックします。

コマンドの実行画面が表示されるので、先程追加した cli_command モジュールを選択し、引数にオプションを入力します。
ここでは、show version コマンドを実行するために、commmand="show version" を指定します。asnible コマンドの -a オプション相当です。
続いて 起動 をクリックします。


cli_command モジュールを実行できました。
おわりに
アドホックコマンドの実行で選択できるモジュールを追加する方法をご紹介しました。
Ansible Tower / AWX は、直接 Plaubook を追加、編集する機能がないので、ちょっとした疎通確認、動作確認する際にはアドホック実行は便利だと思います。
ちなみに、選択できるモジュールを追加できることを知らなくて、当初 RFE として issue をあげました。そして、数分でこの機能を親切に教えていただきました。ありがたいです。
RFE: ad hoc command for network devices · Issue #6772 · ansible/awx · GitHub