はじめに
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