Documentation

3. カスタムインベントリースクリプト

注釈

インベントリースクリプトは Ansible Tower Version 3.8.0 では非推奨です。

_images/api_inventory_script_deprecation.png

カスタムインベントリースクリプトを使用する場合は、プロジェクトからこのスクリプトを取得するように移行してください。次のセクションの「インベントリーファイルのインポート」を確認してください。詳細は『Ansible Tower User Guide』の「インベントリーソース」も参照してください。

Tower は、Amazon AWS、Google Compute Engine などのクラウドソースから動的にインベントリーを同期するサポートが含まれています。また、Tower には、カスタムスクリプトを使用して独自のインベントリーソースからプルする機能もあります。

注釈

インベントリーホスト変数の編集と追加は、--overwrite_vars設定されていない 限りインベントリー同期後も維持されます。

Tower で利用可能なカスタムインベントリースクリプトを管理するには、左側のナビゲーションバーからインベントリースクリプト (inv-scripts) を選択します。

Inventory scripts

新しいカスタムインベントリースクリプトを追加するには、add ボタンをクリックします。

Inventory scripts - create new

スクリプト名と説明 (任意) を入力し、このスクリプトが所属する 組織 を選択します。

ローカルシステムのスクリプトを カスタムスクリプト テキストボックスにドラッグアンドドロップするか、そこにインベントリースクリプトの内容をカットアンドペーストしてください。

Inventory scripts - created

3.1. インベントリースクリプトの記述

インベントリースクリプトは、Tower マシン (シェルまたは python など) にインストール済みの動的言語で記述することができます。#!/bin/bash または #!/usr/bin/python などの通常の #! (シバン) のスクリプト行で開始する必要があります。また、awx ユーザーで実行します。インベントリースクリプトは、呼び出しインベントリーを表示する '--list' で呼び出すと、JSON hash/dictionary で返されます。

一般的に、ネットワークに接続して、他のソースからインベントリーを取得します。マルチテナントセキュリティーを有効にしている場合は (詳細は Security を参照)、インベントリースクリプトは Tower マシンの大部分にアクセスできません。ローカルの Tower マシン内にアクセスする必要がある場合には、/etc/tower/conf.d/custom.py で設定します。

動的インベントリースクリプトとその記述方法に関する情報は、Ansible ドキュメントの Intro to Dynamic Inventory および Developing Dynamic Inventory Sources セクションを参照するか、GitHub の example dynamic inventory scripts を確認してください。