Ansible Tower(AWX) のスマートインベントリの使い方

スポンサーリンク

Ansible TowerまたはAWXでスマートインベントリを使用する方法を説明します。スマートインベントリは、管理対象のホストが多いような大規模な環境で有効な手法で、一部のインベントリのみを表示する便利機能です。

様々な運用形態に対応できるようGUI, CLI, APIの3通りの設定手順をまとめます。

スマートインベントリの作成

GUIによる操作

「インベントリー」の設定画面に遷移し、「+(追加)」ボタンの「スマートインベントリー」を押下します。

Ansible Tower スマートインベントリの作成01

「組織」を入力した後に、「スマートフィルター」の「虫眼鏡(絞り込み)」ボタンを押下します。

Ansible Tower スマートインベントリの作成02

絞り込みたい検索ワードを入力し、「保存」を押下します。以下スクリーンショットは文字列「nsx」を含むホストに絞り込む設定例です。

Ansible Tower スマートインベントリの作成03

必要な情報の入力が完了したら、「保存」を押下します。

Ansible Tower スマートインベントリの作成04

一部ホストのみが登録されたインベントリが作成された事を確認します。

Ansible Tower スマートインベントリの作成05

CLIまたはAPIによる操作

スマートインベントリの作成は、通常のインベントリ作成と殆ど同じです。違いは「kind」が「smart」になる事です。

CLI操作
awx inventories create \
  --name "VMware NSX-T" \
  --kind "smart" \
  --description "" \
  --organization "スピードワゴン財団" \
  --host_filter "search=nsx"
API操作
ORGANIZATION_ID=$(curl -u admin:P@ssw0rd \
  http://localhost/api/v2/organizations/ | \
  jq  '.results[] | select(.name == "スピードワゴン財団")' | jq ".id")


curl -XPOST -u admin:P@ssw0rd \
  --header "Content-Type: application/json" \
  -d @- http://localhost/api/v2/inventories/ << EOF
{
  "name": "VMware NSX-T",
  "kind": "smart",
  "description": "",
  "organization": ${ORGANIZATION_ID},
  "host_filter": "search=nsx"
}
EOF
タイトルとURLをコピーしました